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

这里面是哪错了啊?

#include <stdio.h>
int main()
{
    /* 定义需要计算的日期 */
    int year = 2008;
    int month = 8;
    int day = 8;
    int i,j;
    if((year%100 != 0 && year%4 == 0)||year%400 == 0)
    {
        i = 28;
    }
    else
    {
        i = 27;
    }
    switch(month)
    {
        case 1:j = day; break;
        case 2:j = 31 + day; break;
        case 3:j = 31 + i + day; break;
        case 4:j = 31 + i + 31 + day; break;
        case 5:j = 31 + i + 31 + 30 + day; break;
        case 6:j = 31 + i + 31 + 30 + 31 + day; break;
        case 7:j = 31 + i + 31 + 30 + 31 + 30 + day; break;
        case 8:j = 31 + i + 31 + 30 + 31 + 30 + 31 + day; break;
        case 9:j = 31 + i + 31 + 30 + 31 + 30 + 31 + 31 + day; break;
        case 10:j =31 + i + 31 + 30 + 31 + 30 + 31 + 31 + 30 + day; break;
        case 11:j =31 + i + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + day; break;
        case 12:j =31 + i + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + 30 + day; break;
    }
    printf("%d年%d月%d日是该年中的第%d天"), year, month, day, j);
    /*
     * 请使用switch语句,if...else语句完成本题
     * 如有想看小编思路的,可以点击左侧任务中的“不会了怎么办”
     * 小编还是希望大家独立完成哦~
     */
 return 0;
}

正在回答

2 回答

#include <stdio.h>
int main()

    int year = 2008;
    int month = 8;
    int day = 8;
    int Day,i;
    if(year%400==0||(year%4==0&&year%100!=0))
        {
            i=29;
        }
        else
        {
            i=28;
        }
    switch(month)
    {
        case 1: Day=day;break;
        case 2: Day=i+day;break;
        case 3: Day=i+31+day;break;
        case 4: Day=i+31+30+day;break;
        case 5: Day=i+31+30+31+day;break;
        case 6: Day=i+31+30+31+30+day;break;
        case 7: Day=i+31+30+31+30+31+day;break;
        case 8: Day=i+31+30+31+30+31+31+day;break;
        case 9: Day=i+31+30+31+30+31+31+30+day;break;
        case 10: Day=i+31+30+31+30+31+31+30+31+day;break;
        case 11: Day=i+31+30+31+30+31+31+30+31+30+day;break;
        case 12: Day=i+31+30+31+30+31+31+30+31+30+31+day;break;
    }
    printf("%d年%d月%d日是该年的第%d天\n",year,month,day,Day);
 return 0;

}

我的这个过程跟你基本上一样,运行成功了。

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

兄弟,闰年2月是29天不是28天。。。。。。

1 回复 有任何疑惑可以回复我~
#1

慕沐8099755 提问者

emmm…可是老哥,系统显示的是运行错误,不是输出错误啊……我估计应该还有其他问题
2018-08-31 回复 有任何疑惑可以回复我~
#2

qq_tor_1

我觉得你在之前的case1 等也不对吧为什么加个day呢,我觉得是正常计算总日数,后再在case8结束后减去(31-8)会好点吧
2018-09-01 回复 有任何疑惑可以回复我~
#3

qq_tor_1

我还觉得你那个j=day会把day的8赋值给j,后面没法处理了吧
2018-09-01 回复 有任何疑惑可以回复我~

举报

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

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

进入课程

这里面是哪错了啊?

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