解题思路:
先判断是否是闰年,再确定到哪一个月,最后相加最后一个月天数;
具体看注释;
注意事项:
输入日期是必须加入斜杆,不然程序死循环;
参考代码:
#include <stdio.h> int time () { int pin[12]={31,28,31,30,31,30,31,31,30,31,30,31};//平年每一个月天数 int year,month,day; int i; int sum=0; while(scanf("%d/%d/%d",&year,&month,&day)!=EOF)//每一个数字必须加斜杆 { if(year%4==0&&year%100!=0||year%400==0)//4年一闰,百年不闰,400年再闰 { for(i=0;i<(month-1);i++)//当月没有过完,月份减一 { sum=pin[i]+sum; } sum+=day+1;//闰年2月份+1天 printf("%d\n",sum); sum=0; } else { for(i=0;i<(month-1);i++) { sum=pin[i]+sum; } sum+=day; printf("%d\n",sum); sum=0; } } return 0; } int main() { time(); return 0; }
0.0分
0 人评分
NCLEO 2018-12-06 14:33:25 |
不用判断是否大于2月份,因为循环只有加到当前月份的上一个月,当月剩下多少天直接相加就可以;如果是2月,循环1次, 再加上二月剩下天数;如果是3月份,循环两次,再加上三月剩下天数;