#include <iostream>
using namespace std;
int main(void){
int y,m,d;
while(cin>>y){
int s1[11]={31,28,31,30,31,30,31,31,30,31,30};
int s2[11]={31,29,31,30,31,30,31,31,30,31,30};
int s=0;
cin.ignore();
cin>>m;
cin.ignore();
cin>>d;
if((y%400==0)||((y%4==0)&&(y%100!=0)))
{ for(int i=0;i<m-1;i++)
s+=s2[i];
s+=d;
}
else
{ for(int j=0;j<m-1;j++)
s+=s1[j];
s+=d;
}
cout<<s<<endl;
}
return 0;
}
tips:重点是要会处理"/",用cin.ignore()可以忽略一个字符。
cin.ignore()函数是C++标准输入流(cin)中的一个方法。cin.ignore()函数中有两个参数,分别为数值型的a 和 字符型的 ch ,即cin.ignore( a, ch )。它表示从输入流 cin 中提取字符,提取的字符被忽略,不被使用。而每抛弃一个字符,它都要进行计数和比较字符:如果计数值达到 a 或者被抛弃的字符是 ch ,则cin.ignore() 函数执行终止;否则,它继续等待。
如果默认不给参数的话,默认参数为cin.ignore(1, EOF),即把EOF前的1个字符清掉,没有遇到EOF就清掉一个字符然后结束。