为了账号安全,请及时绑定邮箱和手机立即绑定

大佬们,这是错哪了

#include <stdio.h>
int main()
{

    int year = 2008;
    int month = 8;
    int day = 8;

    int a,b;
    switch(month)
    {
        case 1:a=0;
            break;
        case 2:a=31;
            break;
        case 3:a=59;
            break;
        case 4:a=90;
            break;
        case 5:a=120;
            break;
        case 6:a=151;
            break;
        case 7:a=181;
            break;
        case 8:a=212;
            break;
        case 9:a=242;
            break;
        case 10:a=273;
            break;
        case 11:a=304;
            break;
        case 12:a=334;
            break;
        default:printf("*");
            break;
    }
    if(year%400==0||(year%4==0 && year%100!=0))
        b=1;
    else
        b=0;
    if(b==1&&month>2)
        a++;
    printf("%d年%d月%d日这一天,是该年中的第%d天",year,month,day,a);
    return 0;
}


正在回答

2 回答

你哪个闰年条件在你这个程序中明显是多余的

0 回复 有任何疑惑可以回复我~

在 swich函数后面加一个  


    a=a+day;

    

你原来输出的21天只是前面七个月的日数总和,而所求的事8月8日,所以还要再加上8日。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C语言入门
  • 参与学习       924404    人
  • 解答问题       20753    个

C语言入门视频教程,带你进入编程世界的必修课-C语言

进入课程

大佬们,这是错哪了

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信