• 手机版

    扫码体验手机版

  • 微信公众号

    扫码关注公众号

国内首家协议开发

软芯音视解码保护平台

在线
客服

发布
需求

在线
聊天

天盟
APP

天盟APP下载

关注
微信

微信扫一扫访问
顶部

求问这错在哪里,谢谢!

#include
int main()
{
    int year = 2008;
    int month = 8;
    int day = 8;
    int sum,num;
    switch(month)
    {
        case 1;sum=0;break;
        case 2;sun=0+28;break;
        case 3;sum=0+28+31;break;
        case 4;sum=0+28+31+30;break;
        case 5;sum=0+28+31+30+31;break;
        case 6;sum=0+28+31+30+31+30;break;
        case 7;sum=0+28+31+30+31+30+31;break;
        case 8;sum=0+28+31+30+31+30+31+31;break;
        case 9;sum=0+28+31+30+31+30+31+31+30;break;
        case 10;sum=0+28+31+30+31+30+31+31+30+31;break;
        case 11;sum=0+28+31+30+31+30+31+31+30+31+30;break;
        case 12;sum=0+28+31+30+31+30+31+31+30+31+30+31;break;
        default:printf("还有12个以上的月份?");
    }
    sun=sun+day;
    if(year%4=0)
    {
        num=1;
    }
    else
    {
        num=0;
    }
    if(num==1)
    {   
        sum+1;
        printf("2008年8月8日是该年中第%d\n",sum);
    }
    return 0;
}

免责声明:本内容仅代表回答会员见解不代表天盟观点,请谨慎对待。

版权声明:作者保留权利,不代表天盟立场。

使用道具 举报

全部参与2

语法上和逻辑上都有错误。


先说逻辑上的:
switch语句中,每个case后的是该月前面所有月份的天数总和。
所以 case 1 时,sum是一月份前所有日子的和,一月份之前可视为没有天数,所以sum是0。这没问题。
可是 case 2 时,sum应该是前一月的天数,也就是一月份的天数,那为什么你写28?
所以 case 2 及之后case中的天数都错了。


还有,有的地方手滑把 sum打成 sun 了。
后面 if 语句判断是否为闰年的条件也写错了。 闰年的条件是“四年一闰,百年不闰,四百年再闰”,并不是简单的被4整除就算闰年。

使用道具 举报

笨,自己板着手指数一数

使用道具 举报

发新帖

发布任务需求已有1031167位用户正在使用天盟网服务

发布分类: *
任务预算: *
需求内容: *
手机号码: *
任务商家报价为
  • 预算价 :
  • 成交价 :
  • 完工期 :
  • 质保期 :

* 最终任务项目以服务商报价、双方协商为准!