编写程序,用于输入日期数据,输入格式为YYYY-MM-DD,分别将年\月\日存入不同的整型变量year\month和day中,将以格式YYY年MM月DD日进行输出,例如:输入"2005-7-19",则输出"2005年7月19日".
你要的是把年、月和日存入整型变量year、month和day中那就是这样#include<iostream>using namespace std;int main(){ char data[20]; int year=0,month=0,day=0,t=0; gets(data); while((data[t]>='0')&&(data[t]<='9')) { year=year*10+(int)data[t]-48; t++; } while((data[t]<'0')||(data[t]>'9')) { t++; } while((data[t]>='0')&&(data[t]<='9')) { month=month*10+(int)data[t]-48; t++; } while((data[t]<'0')||(data[t]>'9')) { t++; } while((data[t]>='0')&&(data[t]<='9')) { day=day*10+(int)data[t]-48; t++; } cout<<year<<"年"<<month<<"月"<<day<<"日"<<endl; return 0;}
是以字符串输入的吧,是的话先截取字符串“2005”、“7”、“9”用以下程序int num=0;for(int i=0;i<str.length();i++)//假设str为字符串,为string类型{ num+=(str[i]*pow(10,str.length()-1-i));//pow为库函数,在math.h中}//num 即为对应整形变量,输出就很简单了
#include<iostream>#include<string>using namespace std;string printdate(string x){ int i=0; string data=""; data=x.substr(0,4); data+="年"; data+=x.substr(5,1); if(x[6]=='-')//判断 月 是个一位数还是二位数 i=1; else data+=x.substr(6,1); data+="月"; data+=x.substr(8-i,2); data+="日"; return data;}int main(){string a;cin>>a;cout<<printdate(a)<<endl;;return 0;}