读书人

帮小弟我看一下拉还有三天哪去了?(

发布时间: 2012-02-08 19:52:21 作者: rapoo

帮我看一下拉,还有三天哪去了?(我不明白)


#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太粗心了

读书人网 >C语言

热点推荐