解题思路:将12个月每个月的天数保存在一个一维数组中。再判断输入的年份是否为闰年,如果是,就更换一维数组中2月份的总天数。之后将前几个月的总天数累加,再加上这个月的天数,得到的就是今年时一年中的第几天。
注意事项:因为数组第一位是0,而月份第一位是1,所以在计算前几月天数总和时,使用的循环退出条件是i<b-1,而不是i<b。
参考代码:
#include<stdio.h> int main(){ int i,a,b,c,d[12]={31,28,31,30,31,30,31,31,30,31,30,31},s=0; scanf("%d %d %d",&a,&b,&c); if(a%4==0&&a%100!=0||a%400==0)d[1]=29; for(i=0;i<b-1;i++){ s=s+d[i]; } printf("%d",s+c); }
0.0分
3 人评分