问题:给定一个日期,输出这个日期是该年的第几天。
Input
输入数据有多组,每组占一行,数据格式为YYYY/MM/DD组成,具体参见sample input ,另外,可以向你确保所有的输入数据是合法的。
Output
对于每组输入数据,输出一行,表示该日期是该年的第几天。
Sample Input
1985/1/20
2006/3/12
Sample Output
20
71
笨比程序样例:
#include<iostream>
using namespace std;
int main()
{
int year , month , day;
while(cin>>year>>month>>day)
{
if(month==1)
cout<<day<<endl;
else
{
if((year%4==0 && year%100!=0)||year%400==0)
{
if(month==2)
cout<<31+day<<endl;
else if(month==3)
cout<<31+29+day<<endl;
else if(month==4)
cout<<31+29+31+day<<endl;
else if(month==5)
cout<<31+29+31+30+day<<endl;
else if(month==6)
cout<<31+29+31+30+31+day<<endl;
else if(month==7)
cout<<31+29+31+30+31+30+day<<endl;
else if(month==8)
cout<<31+29+31+30+31+30+31+day<<endl;
else if(month==9)
cout<<31+29+31+30+31+30+31+31+day<<endl;
else if(month==10)
cout<<31+29+31+30+31+30+31+31+30+day<<endl;
else if(month==11)
cout<<31+29+31+30+31+30+31+31+30+31+day<<endl;
else if(month==12)
cout<<31+29+31+30+31+30+31+31+30+31+30+day<<endl;
}
else
{
if(month==2)
cout<<31+day<<endl;
else if(month==3)
cout<<31+28+day<<endl;
else if(month==4)
cout<<31+28+31+day<<endl;
else if(month==5)
cout<<31+28+31+30+day<<endl;
else if(month==6)
cout<<31+28+31+30+31+day<<endl;
else if(month==7)
cout<<31+28+31+30+31+30+day<<endl;
else if(month==8)
cout<<31+28+31+30+31+30+31+day<<endl;
else if(month==9)
cout<<31+28+31+30+31+30+31+31+day<<endl;
else if(month==10)
cout<<31+28+31+30+31+30+31+31+30+day<<endl;
else if(month==11)
cout<<31+28+31+30+31+30+31+31+30+31+day<<endl;
else if(month==12)
cout<<31+28+31+30+31+30+31+31+30+31+30+day<<endl;
}
}
}
return 0;
}
输入的时候的那个c有什么用呢
大佬在吗?
追答这两个%c,用于吸收两个'/'
追问ok谢谢
已采纳
本回答被提问者和网友采纳