一个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; }