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

话说这么写是简单还是更麻烦了

#include <stdio.h>

int main() 

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

    int year = 2008;

    int month = 1;

    int day = 8;

    int i = 0 ;

    for(int r = 0 ; r< month ; r++){

        if(r==1||r==3||r==5||r==7||r==8||r==10||r==12){

           i+=31; 

        }else if(r==4||r==6||r==9||r==11){

            i+=30;

        }

    }

    if(month>=2){

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

            i+=29;

        }else{

            i+=28;

        }  

    }

    i+=day;

    printf("%d年%d月%d日是该年的第%d天\n",year,month,day,i);

return 0;

}


正在回答

5 回答

简单并且更灵活了,但是没有用switch,话说我也是这么做的0.0

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

#include <stdio.h>

int main()

{

    int year,month,day,i,r;

    year=2008;

    month=8;

    day=8;

    i=0;

    for(r=0;r<month;r++)

    {

        if(r==1||r==3||r==5||r==7)

        {

            i+=31;

        }

        else if(r==4||r==6||r==8)

        {

            i+=30;

        }

        break;

    }

   if(month==2)

    {

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

         {

             i+=29;

         }

    }

    else

    {

        i+=28;

    }

    i+=day;

    printf ("%d年 %d月%d日是该年的第%d天\n",year,month,day,i);

    return 0;

}

大神我这个哪儿有问题,for语句的循环不计算

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

qq_慕运维0552069 提问者

你这写的啥玩意啊 1 3 5 7 8 10 12 是31天 4 6 9 11 是30天 闰年的2月29天 平年的2月是28天
2019-05-15 回复 有任何疑惑可以回复我~
#2

qq_慕运维0552069 提问者

if(r==1||r==3||r==5||r==7) ========>为啥只有1357 else if(r==4||r==6||r==8) ========》468什么鬼 不应该是4 6 9 11 吗 if((year%4==0&&year%100!=0)||year%100==0) 后面这个是能将400整除 不是100
2019-05-15 回复 有任何疑惑可以回复我~

但是计算结果不符合要求,不正确,我代码放到编译器,结果不正确

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

#include <stdio.h>

int main()

{

    int year,month,day,i,r;

    year=2008;

    month=8;

    day=8;

    i=0;

    for(r=0;r<month;r++)

    {

        if(r==1||r==3||r==5||r==7)

        {

            i+=31;

        }

        else if(r==4||r==6||r==8)

        {

            i+=30;

        }

        break;

    }

   if(month==2)

    {

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

         {

             i+=29;

         }

    }

    else

    {

        i+=28;

    }

    i+=day;

    printf ("%d年 %d月%d日是该年的第%d天\n",year,month,day,i);

    return 0;

}

大神我这个哪儿有问题,for语句的循环不计算

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

可以,但不符合题目要求

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

举报

0/150
提交
取消

话说这么写是简单还是更麻烦了

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