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

请问哪儿错了?

#include <stdio.h>

int main() 

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

    int year = 2008;

    int month = 8;

    int day = 8;

   int sum, flag; 


    switch(month)

    {

        case 1 : sum = 0;   break;

        case 2 : sum = 31;  break;

        case 3 : sum = 59;  break; 

        case 4 : sum = 90;  break;

        case 5 : sum = 120; break; 

        case 6 : sum = 151; break;

        case 7 : sum = 181; break;

        case 8 : sum = 212; break;

        case 9 :sum = 243; break; 

        case 10: sum = 273; break;

        case 11 : sum = 304; break;

        case 12 : sum = 334; break;

        default : printf ("一年当中只有12个月哦!");break;

    }

    

    sum = sum + day;

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

       flag =1;

    else 

       flag = 0;

    if (flag = 1 && month>2)

       sum++;

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

           return 0;

  }


正在回答

2 回答

再说flag应该是==1啊,最后一个if

0 回复 有任何疑惑可以回复我~
#include <stdio.h>
int main() { 
    /* 定义需要计算的日期 */ 
       int year = 2088;//测试
            int month = 8; 
               int day = 8;
                  int sum, flag; 
                      switch(month)    {   
                           case 1 : sum = 0;   break;      
                             case 2 : sum = 31;  break;       
                             case 3 : sum = 59;  break;         
                             case 4 : sum = 90;  break;       
                              case 5 : sum = 120; break;        
                               case 6 : sum = 151; break;       
                                case 7 : sum = 181; break;       
                                 case 8 : sum = 212; break;       
                                  case 9 :sum = 243; break;        
                                   case 10: sum = 273; break;        
                                   case 11 : sum = 304; break;       
                                    case 12 : sum = 334; break;       
                                     default : printf ("一年当中只有12个月哦!");break;    }
                                                sum = sum + day;         
                                                  if (year%400==0 || (year%4==0 && year%100!=0 ))    	
                                                  flag =1;    
                                                   else        
                                                   	flag = 0;   	  
                                                   	  if (flag = 1 && month>2){//此if没起到任何作用  
                                                   	        sum++;//对应year设定的值进行测试  发现year设定任意的数结果却不变只为221         
                                                   	           //所以此if是错的
                                                   	           }
                                                   	           printf("%d年%d月%d日是该年的第%d天",year,month, day,sum);   
                                                   	                   return 0;  }


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

举报

0/150
提交
取消
C语言入门
  • 参与学习       926020    人
  • 解答问题       20793    个

C语言入门视频教程,带你进入编程世界的必修课-C语言

进入课程

请问哪儿错了?

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