帮我看一下拉,还有三天哪去了?(我不明白)
#include <stdio.h>
void main()
{
int year=0,month=0,day=0;
int sum=0,i=0,res=0,a=0;
printf( "请输入年月日:\n ");
scanf( "%d%d%d ",&year,&month,&day);
if(year%4==0&&year%100!=0||year%400==0)
a=29;
else
a=28;
int months[13]={0,31,a,31,30,31,30,31,31,30,31,30,31};
for(i=0;i <month;i++)
sum+=months[month];
res=sum+day;
printf( "这一天是这一年的第%d天。\n ",res);
}
输入2004、3、31
得89天,正确应为91天。
[解决办法]
你太粗心了吧,
for(i=0;i <month;i++)
sum+=months[month];
应该是
for(i=0;i <month;i++)
sum+=months[i]; //这里
[解决办法]
for(i=0;i <month;i++)
sum+=months[month]; //改为sum+=months[i];
[解决办法]
楼上与楼上的楼上都说了
程序设计要认真,LZ太粗心了