int
isLeapYear(int
year)
{
if(year%100==0)
{
if(year%400==0)
return
1;
else
return
0;
}
else
{
if(year%4==0)
return
1;
else
return
0;
}
}
void
main()
{
int
days[12]={31,28,31,30,31,30,31,30,31,30,31,30};
int
year,month,day,i,sum;
scanf("%d",&year);
scanf("%d",&month);
scanf("%d",&day);
if(isLeapYear(year))days[1]=29;
sum=0;
for(i=0,i
追问:
i小于month-1是什么意思,还有sum=days
追答:
sum=0;
for(i=0,i
追问:
sum+=daysi是什么意思
追答:
sum=sum+days[i]的简写。就是在sum的基础上加上days[i]。
比如你输入3月2日,循环里面就是0+31+28,最后再+(2-1)。
for(i=0,i
追问:
为什么是daysi
追答:
days[12]={31,28,31,30,31,30,31,30,31,30,31,30};
前面定义过的,每个月含有多少天。days[0]对应一月份,...days[11]对应12月份
for(i=0,i
追问:
wl为什么是i小于我不明白
追答:
你是说为什么不是i小于等于?换种写法你估计看得清楚一点。
for(i=1,i<=month-1;i++)
{
sum+=days[i-1];
}
这个i就真正是月份的意思了。
以前那个i是数组下标的意思,实现的效果是一样的。
每月含多少天写错了,修改一下:
int
days[12]={31,28,31,30,31,30,31,31,30,31,30,31};
评论
0
0
加载更多
温馨提示:答案为网友推荐,仅供参考