一个C语言小程序求助各位!先谢了~
编写一个计算天数的程序,用户从键盘输入年、月、日在屏幕上输出此日期是该年第几天。以下是我写的。。。但是感觉不够完善。。希望在键盘输入的时候搞个判断。。如果年份为负数以及月份大于13 天数大于31 就提示并且让你重新输入。。。请问代码怎样加?while循环?
程序代码:/*
编写一个计算天数的程序,用户从键盘输入年、月、日
在屏幕上输出此日期是该年第几天。
*/
# include <stdio.h>
int leap(int a);
int WitchDay(int y, int m, int d);
int panduan(int y, int m, int d);
int main()
{
int year, month, day, s;
printf("请输入年、月、日:\n");
scanf("%d%d%d", &year, &month, &day);
s = WitchDay(year, month, day);
s = s + day;
printf("%d年%d月%d日是该年第%d天!\n", year, month, day, s);
return 0;
}
int leap(int a) /* 此函数用于判断是否为闰年 */
{
if(a%4==0 && a%100!=0 || a%400==0)
return 1;
else
return 0;
}
int WitchDay(int y, int m, int d)
{
int i, sum = 0;
int a[12]={31,28,31,30,31,30,31,31,30,31,30,31};
int b[12]={31,29,31,30,31,30,31,31,30,31,30,31};
if(leap(y)==1)
{
for (i=0; i<m-1;i++)
sum = sum + b[i];
}
else
for (i=0; i<m-1; i++)
sum = sum + a[i];
return sum;
}









