解题思路:先看代码,再看注释。
注意事项:只需要注意sum和的求法别错就行,纯数学题,没什么技巧。sum=月份总和+day所以循环i<month-1。
参考代码:
#include <stdio.h>
struct DAYS
{
int year;
int month;
int day;
};
void count(int year,int month,int day)
{
int sum=0,i;
int a[12];
a[0]=31;
a[1]=0;
a[2]=31;
a[3]=30;
a[4]=31;
a[5]=30;
a[6]=31;
a[7]=31;
a[8]=30;
a[9]=31;
a[10]=30;
a[11]=31;
if((year%4==0&&year%100!=0)||(year%400==0))
a[1]=29;
else
a[1]=28;
for(i=0;i<month-1;i++) //day包括了本月的天数,所以这个月不能循环,所以month-1。
sum+=a[i]; //希望能看懂,很好理解的。
sum+=day;
printf("%d",sum);
}
int main ()
{
struct DAYS dd;
int x,y,z;
x=dd.year;
y=dd.month;
z=dd.day;
scanf("%d%d%d",&x,&y,&z);
count(x,y,z);
return 0;
}
0.0分
0 人评分