题目描述:
请你计算出 xx 年 yy 月 zz 日是 xx 年的第几天。
请注意闰年对答案的影响。
输入格式:一行三个整数,xx,yy 和 zz。(1583le xle 21001583≤x≤2100)。数据保证输入合法。
输出格式:一个整数,表示是第几天。
输入样例1:
2016 3 1
输出样例1:
61
输入样例2:
1900 3 1
输出样例2:
60
解题思路:先输入年月日,再根据年份判断为闰年还是平年,再根据每月的天数运用暴力手段计算出第几天,注意 每个月的天数易算错!
#includeint main() { int x,y,z,d; scanf("%d %d %d",&x,&y,&z);// 输入年月日 if(x%4==0&&x%100!=0||x%400==0){ //判断是否为闰年 if(y==1){//运用暴力手段计算 1 3 5 7 8 10 12月为31天 //4 6 9 11月为30天 //2月闰年为29天 平年为28天 d=0+z; }else if(y==2){ d=31+z; }else if(y==3){ d=60+z; }else if(y==4){ d=91+z; }else if(y==5){ d=121+z; }else if(y==6){ d=152+z; }else if(y==7){ d=182+z; }else if(y==8){ d=213+z; }else if(y==9){ d=244+z; }else if(y==10){ d=274+z; }else if(y==11){ d=305+z; }else if(y==12){ d=335+z; } }else{ if(y==1){ d=0+z; }else if(y==2){ d=31+z; }else if(y==3){ d=59+z; }else if(y==4){ d=90+z; }else if(y==5){ d=120+z; }else if(y==6){ d=151+z; }else if(y==7){ d=181+z; }else if(y==8){ d=212+z; }else if(y==9){ d=243+z; }else if(y==10){ d=273+z; }else if(y==11){ d=304+z; }else if(y==12){ d=334+z; } } printf("%d",d);//输出天数 return 0; }



