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

加个for方便多了!

#include <stdio.h>

int main() 

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

    int year = 2008;

    int month = 8;

    int day = 8;

    int i;

    int sum=0;

    int e=30;

    int a=31;

    /*

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

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

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

     */

     

     for(i=1;i<=month-1;i++){

            switch(i){

                case 1:

                    sum+=a;

                    break;

                case 2:

                    sum+=29;

                    break;

                case 3:

                    sum+=a;

                    break;

                case 4:

                    sum+=e;

                    break;

                case 5:

                    sum+=a;

                    break;

                case 6:

                    sum+=e;

                    break;

                case 7:

                    sum+=a;

                    break;

                case 8:

                    sum+=a;

                    break;

                case 9:

                    sum+=e;

                    break;

                case 10:

                    sum+=a;

                    break;

                case 11:

                    sum+=e;

                    break;

                case 12:

                    sum+=a;

                    break;

            }

    }

             if(year%4==0&&year%100!=0||year%400==0){

                sum+=day


;

                printf("%s%d%s","2008年8月8日是该年的第",sum,"天!");

            }else{

                sum+=day-1;

                printf("%s%d%s","2008年8月8日是该年的di",sum,"天!");

            }

return 0;

}



正在回答

2 回答

2008年是闰年啊,else里的sum为啥要变?为真就直接走if了不会走else

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

else语句里sum没有变。

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

石乐志_ 提问者

2008年是闰年啊,else里的sum为啥要变?为真就直接走if了不会走else
2018-12-22 回复 有任何疑惑可以回复我~
#2

石乐志_ 提问者

for和switch来按闰年计算当前月份的所有天数,if判断当年是不是闰年再来处理结果,如果当前年数不是闰年走else减去闰年2月多出的天数
2018-12-22 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

加个for方便多了!

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