【C语言】之''日期天数转换''

老师平时布置的希冀系统上的作业答案,仅供参考!

【问题描述】

编写一个程序,用户输入日期,计算该日期是这一年的第几天。

【输入形式】

用户在第一行输入一个日期(年 月 日,中间以空格分割)

【输出形式】

程序在下一行输出一个整数

【样例输入】

2006 2 21

【样例输出】

52

【样例说明】

用户以年月日的格式输入,中间以空格分割,程序计算出该天是输入年份的第几天并输出该天数。另外还需要判断这一年是否为闰年。

【答案】

#include<stdio.h>
int main()
{
    int year,month,day;
    scanf("%d%d%d",&year,&month,&day);
    int feb=0;
    int num=0;
    if(year%400==0 ||(year%4==0 && year%100!=0))
        feb=29;
    else
        feb=28;
    switch(month-1)
    {
        case 1 : num=num+31; break;
        case 2 : num=num+31+feb; break;
        case 3 : num=num+31+feb+31; break;
        case 4 : num=num+31+feb+31+30; break;
        case 5 : num=num+31+feb+31+30+31; break;
        case 6 : num=num+31+feb+31+30+31+30; break;
        case 7 : num=num+31+feb+31+30+31+30+31; break;
        case 8 : num=num+31+feb+31+30+31+30+31+31; break;
        case 9 : num=num+31+feb+31+30+31+30+31+31+30; break;
        case 10 : num=num+31+feb+31+30+31+30+31+31+30+31; break;
        case 11 : num=num+31+feb+31+30+31+30+31+31+30+31+30; break;
    }
    printf("%d",num+day);

}
© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容