呵呵,楼上的说的是啊!
这个是本人写的,新手一个,第一次发帖,有不好的地方,请指出来啊!
#include<stdio.h>
#include<math.h>
main()
{
int year,mouth,day;
int Days=0;//Days代表第多少天
int i;
int flag=1;//标记输入的数据是否正确,1表示正确
int flag1=1;//标记平年和闰年,1表示平年
int d[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};//定义的数组
printf("Please input: year mouth day\n");
scanf("%d %d %d",&year,&mouth,&day);
if((year%4==0&&year%100!=0)||(year%400==0))//若是闰年的时候就修改一下二月
{
d[2]=29;
flag1=0;//修改了平年标识,现在表示是闰年
}
switch(mouth)//对月份、天数的检测
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
if(day<1||day>31)
flag=0;
break;
case 4:
case 6:
case 9:
case 11:
if(day<1||day>30)
flag=0;
break;
case 2:
if(flag1=0&&(day<1||day>29))
flag=0;
else if(flag1=1&&(day<1||day>28))
flag=0;
break;
default:flag=0;break;
}
//计算天数
for(i=1;i<=mouth-1;i++)
{
Days=Days+d[i];//计算前mouth-1月的天数
}
Days=Days+day;
//判断输出
if(flag==1)
printf("Days:%d\n",Days);
else
printf("Input Error!\n");
}