天天看点

C程序14 求日期

程序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;
}
           

运行结果

C程序14 求日期

继续阅读