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

我自己打的代码,哪里错了,求救

#include <stdio.h>

int main() 

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

    int year = 2008;

    int month = 8;

    int day = 8;

    int num;

    int sum=0;

    int i=1;

    while(i<month)

    {

        switch

        {

            case 1:num=day;break;

            case 2:num=31;break;

            case 3:

            if(year%4==0)

            {

              num=29;break;

            }

            else

            {

              num=28;break;

            }

            case 4:num=31;break;

            case 5:num=30;break;

            case 6:num=31;break;

            case 7:num=30;break;

            case 8:num=31;break;

            case 9:num=31;break;

            case 10:num=30;break;

            case 11:num=31;break;

            case 12:num=30;break;

            }

            sum+=num;

            i++;

            }

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

            return 0;


正在回答

3 回答

num+=30;

num+=31;

要和之前的num加起来

还有case1,2...12的顺序错了

应该啊12....到1

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

旧时风染

为什么是12到1呢?
2017-02-03 回复 有任何疑惑可以回复我~
#2

囖囖囖囖咯 回复 旧时风染

因为它是从8开始往下执行的,而且你不用加 break,遇到break它就不执行下面的了,而是直接结束
2017-02-04 回复 有任何疑惑可以回复我~
#3

艾弗里高 提问者

不会啊,我用的是while语句,他每次循环都会得到一个职num,最后输出的是sum他是每次得到的num职加起来的总和啊
2017-02-04 回复 有任何疑惑可以回复我~
#4

艾弗里高 提问者

非常感谢!
2017-02-04 回复 有任何疑惑可以回复我~
#5

旧时风染 回复 囖囖囖囖咯

懂了谢谢
2017-02-04 回复 有任何疑惑可以回复我~
查看2条回复

不会意思,之前没看清楚

我现在在VC6上操作了一遍

#include <stdio.h>
int main()
{
 /* 定义需要计算的日期 */
 int year = 2008;
 int month = 8;
 int day = 8;
 int num;
 int sum=0;
 int i=1;
 while(i<month){
 switch(i){
 case 1:num=31;break;
 case 2:
  if(year%4==0){
 num=29;break;}
 else{
 num=28;break;}
 case 3:num=31;break;
 case 4:num=30;break;
 case 5:num=31;break;
 case 6:num=30;break;
 case 7:num=31;break;
 case 8:num=31;break;
 case 9:num=30;break;
 case 10:num=31;break;
 case 11:num=30;break;
 case 12:num=31;break;
 }
 sum=num+sum;
 i++;
 }
 printf("2008年8月8日是该年的%d天", sum+day);
 return 0;
}


按照你的思路

这个是正确的

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

艾弗里高 提问者

我已经改过了,谢谢了
2017-02-05 回复 有任何疑惑可以回复我~
#2

艾弗里高 提问者

我是错在了最后的分号是中文分号,而我看不懂他的解释,最后我百度了解释就过了
2017-02-05 回复 有任何疑惑可以回复我~

从12到1的那种我过了,就用了switch语句。现在我不懂的是怎么改成while语句


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

举报

0/150
提交
取消

我自己打的代码,哪里错了,求救

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