输入某年某月某日,判断这一天是这一年的第几天?我错在哪里
如题,也是C经典100例里面的,答案用的是swith语句,我尝试用数组,但输出结果怎么就是随机值呢:代码如下:
#include<stdio.h>
int main()
{
int a[12],i;
int year,month,date,day;
a[12]={31,28,31,30,31,30,31,31,30,31,30,31};
printf("Please input year,month,date:\n\n");
scanf("%d,%d,%d",&year,&month,&date);
if(month>12||date>31)
printf("enter error,please try again!\n\n"); /*如果大于31天或者大于12个月,错误*/
for(i=0;i<month;i++)
day+=a[i];
if(month>2) /*如果是2月以后的月份,就得考虑这一年是闰年否*/
if(year%4==0&&year%100!=0||year%400==0)
{ day++;
printf("this year is a leap.\n");
}
printf(the date is the %d day of the year!",day);
return 0;
}
我是在gcc里面运行的,编译倒是没有问题,但是运行这个文件的时候,我输入2010,1,1,输出结果为随机值,怎么回事?是我哪里错了? 谢谢!