可以参考的是月份天数打表,以及字符串分解的动作
V#include <stdio.h>
#include <math.h>
bool isRunnian(int year)
{
return ((year%4==0 && year%100!=0) || year%400==0)?true:false;
}
int monthday[]={31,28,31,30,31,30,31,31,30,31,30,31};
void seperate(char riqi[10],int &y,int &m,int &d)
{
int i=0;
while(riqi[i] != '/')
{
y=y*10+riqi[i]-48;
i++;
}
i++;
while(riqi[i] != '/')
{
m=m*10+riqi[i]-48;
i++;
}
i++;
while(riqi[i]!='\0')
{
d=d*10+riqi[i]-48;
i++;
}
return;
}
void main()
{
char riqi[10];
while(scanf("%s",riqi) != EOF)
{
int year=0,month=0,day=0;
seperate(riqi,year,month,day);
bool isr = isRunnian(year);
int sumday = 0;
for(int i = 1;i<month;i++)
{
sumday += monthday[i-1];
if(i == 2 && isRunnian(year))
sumday+=1;
}
sumday += day;
printf("%d\n",sumday);
}
}