看看 这个题哪里做错了!谢谢!请朋友帮帮忙 麻烦了!!!
程序代码:#include<stdio.h>//我写的挺麻烦的,只因我是个新手,还请前辈见谅
#include<stdlib.h>
int a;
void main()
{
int isLeap( int year );
int n,y,r,day=0,mouth[12]={31,28,31,30,31,30,31,31,30,31,30,31},i;//n为年,y为月,r为日,day 计算的天数,mouth[] 表示各个月份的天数
printf("请输入年月日:\n");
scanf("%d%d%d",&n,&y,&r);
isLeap(n);
//----------------------------------------------------------------------------------------------
if(y==1||y==3||y==5||y==7||y==8||y==10||y==12){if(r>31||r<0)printf("请正确输入日期\n");exit(1);}
else if(y==4||y==6||y==9||y==11) {if(r>30||r<0)printf("请正确输入日期\n");exit(1);}
else if(y==2)
{
if(a==1)
{
if(r>29||r<0)
printf("请正确输入日期\n");
exit(1);
}
if(a==0)
if(r>28||r<0)
printf("请正确输入日期\n");
exit(1);
}
//-----------------------------------------------------------------------------------------------
day=day+r;
for(i=0;i<y-1;i++)
day=day+mouth[i];
if(y>=2){if(a==1)day=day+1;}
printf("%d年%d月%d日是%d年的第%d天!!!\n",n,y,r,n,day);
}
int isLeap( int year )//定义输入的年是不是闰年(引用论坛中的算法)
{
return a=year%(year%100?4:400)==0;
}
错误就出现框框中,我想用它来检验输入的年月日的是否超限从而决定继续运行否!如果把检验的地方去掉,能正确输出结果(如果没有检验的语句,这个程序就有漏洞了),但是不去的话 就悲剧了,还请哪位能有帮帮忙!









