程序14 求日期
题目:输入某年某月某日,判断这一天是这一年的第几天?
程序分析:以 3 月 5 日为例,应该先把前两个月的加起来,然后再加上 5 天即本年的第几天,特殊情况,闰年且输入月份大于 3 时需考虑多加一天。
代码
#include <stdio.h>
int main()
{
int i, days = 0;
int year, month, day;
int day_tab[13] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
printf("输入年、月、日,用空格隔开:");
scanf("%d%d%d", &year, &month, &day);
for (i=1; i<month; i++)
{
days += day_tab[i];
}
days += day;
if ((year%4==0 && year%100!=0 || year%400==0) && month>=3)
days+=1;
printf("%d年%d月%d日是这一年的第%d天!\n", year, month, day, days);
return 0;
}
运行结果