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

运行成功输出错误 求大神解惑

不知道哪里有问题? 求指点求解惑!

https://img1.sycdn.imooc.com//5c821ac40001d1cb09590599.jpg

正在回答

4 回答

你的第36行,有点问题,应该是

if (flag==1&&month>2),必须满足同时两个条件。(闰年 和 月份>2)。才行

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

哪有你这样做的,代码太多冗余;直接找规律就好了。就只算1--7月的就行了,这7个月中,除了2月需要判断是否为闰年外,其他的月份都可以用奇偶性来判断。-.-!

#include <stdio.h>

int main() 

    /* 定义需要计算的日期 */

    int year = 2008;

    int month = 8;

    int day = 8;

    int i,days,twoMn,sum;//自定义变量

    /*

     * 请使用switch语句,if...else语句完成本题

     * 如有想看小编思路的,可以点击左侧任务中的“不会了怎么办”

     * 小编还是希望大家独立完成哦~

     */

     sum=0;

     if (((year%4==0)&&(year%100!=0))||(year%400==0))//判断是否为闰年

        {

          twoMn=29;//如果为闰年,则2月份为29天

        } else {twoMn=28;}//否则为28天


    for(i=1;i<=7;i++)

    {

        if(i%2==0){ days=30;} else {days=31;}//根据月份奇偶性得出当前循环的月份有多少天

        

        switch(i)

        {

            case 2: sum += twoMn;continue;//如果是2月份,则加上上面得出的2月份天数,后面进行跳过,否则多加上了个月的天数;

        }

        sum+=days;//除2月外 天数总和加上当月得到的天数

    }

    sum+=8;//由于8月份8号未满一个月,只多了8天,则外部直接加上8月的第8天

    printf("%d年%d月%d日是该年的第%d天。",year,month,day,sum);


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

我没说8月没有31天啊,month=month-1了 ,case7才是

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

8月8“日”,你输入的是“号”,并且8月有31天。

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

举报

0/150
提交
取消

运行成功输出错误 求大神解惑

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