判断习题2.0答案,判断输入月份日期是否错误

#include<stdio.h>
int main()
{
int n,y,r,x,a;//n为年,y为月,r为日 ,x为2月的天数
printf("请输入年月日:\n");
scanf("%d%d%d",&n,&y,&r);
if(y==1,3,5,7,8,10,12)
a=31;
else if(y==4,6,9,11)
a=30;
if(n%400==0||n%4==0&&n%100!=0)
{
x=29;
if(y==2)
a=29;
}
else
{
x=28;
if(y==2)
a=28;
}
if(r<=a)
{
switch(y)
{
case 1:printf("\n这一天是 %d 年的第 %d 天.",n,r);break;
case 2:printf("\n这一天是 %d 年的第 %d 天.",n,31+r);break;
case 3:printf("\n这一天是 %d 年的第 %d 天.",n,31+x+r);break;
case 4:printf("\n这一天是 %d 年的第 %d 天.",n,62+x+r);break;
case 5:printf("\n这一天是 %d 年的第 %d 天.",n,92+x+r);break;
case 6:printf("\n这一天是 %d 年的第 %d 天.",n,123+x+r);break;
case 7:printf("\n这一天是 %d 年的第 %d 天.",n,153+x+r);break;
case 8:printf("\n这一天是 %d 年的第 %d 天.",n,184+x+r);break;
case 9:printf("\n这一天是 %d 年的第 %d 天.",n,215+x+r);break;
case 10:printf("\n这一天是 %d 年的第 %d 天.",n,245+x+r);break;
case 11:printf("\n这一天是 %d 年的第 %d 天.",n,276+x+r);break;
case 12:printf("\n这一天是 %d 年的第 %d 天.",n,306+x+r);break;
}
}
else
{
printf("输入的月份天数错误,请重新输入!\n\n"); 
main();
}

return 0;
}

发布者:胡栗涛   点击数:430   发布时间:2018-10-09   更新时间:2018-10-16