http://acm.hdu.edu.cn/showproblem.php?pid=2005
注意数组的预处理,不要用switch case
#include <stdio.h>
int leapmonth[12] = {0,31,29,31,30,31,30,31,31,30,31,30}; //闰年0~11月
int commonth[12] = {0,31,28,31,30,31,30,31,31,30,31,30};//平年0~11月
int main()
{
int year,month,day,i,count;
while(scanf("%d/%d/%d",&year,&month,&day)!=EOF)
{
count=0;
if((year%4==0&&year%100!=0)||(year%400==0))//闰年
for(i=0;i<month;i++)//累加0~month-1 月的天数
count+=leapmonth[i];
else//平年
for(i=0;i<month;i++)//累加0~month-1 月的天数
count+=commonth[i];
count+=day;//累加当前月份天数
printf("%d\n",count);
}
return 0;
}