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

加了个循环,可以不?

#include <stdio.h>
int main()
{
    /* 定义需要计算的日期 */
    int year = 2008;
    int month = 8;
    int day = 8;
    /*
     * 请使用switch语句,if...else语句完成本题
     * 如有想看小编思路的,可以点击左侧任务中的“不会了怎么办”
     * 小编还是希望大家独立完成哦~
     */
    int sum=0;
    int i;
    int advance=month-1;
    for(i=1;i<=advance;i++){
        switch(i){
        case 1:
        case 3:
        case 5:
        case 7:
        case 8:
        case 10:
        case 12:
            sum+=31;
            break;
        case 2:
            if(year%4==0&&year%100!=0||year%400==0){
                sum+=29;
            }else{
                sum+=28;
            }
            break;
        default:
            sum+=30;
            break;
    }
    
    }
    sum+=day;
    
    printf("2008年8月8日是该年的第%d天",sum);

    return 0;
}

正在回答

3 回答

#include <stdio.h>
int main(){	
    int year = 2008;	   
    int month = 8;	
    int day = 8;	
    int sum = 0;	
    int i;	
    for (i = 1; i<month; i++) {		
        switch (i) {		
            case 1:		
            case 3:		
            case 5:		
            case 7:		
            case 8:		
            case 10:		
            case 12:			
                sum += 31;			
                break;		
            case 4:		
            case 6:		
            case 9:		
            case 11:			
                sum += 30;			
                break;		
            case 2:			
                sum += (year % 4 && year % 100 != 0 || year % 400 == 0) ? 28 : 29;		
         }	
     }	
      sum += day;
      printf("%d年%d月%d日是该年的第%d天\n", year, month, day, sum);	
      return 0;
}


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

你的跟我挺类似的,不过我感觉我的更简洁一点

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

你知道每月的天都是30吗?妹纸,那用switch 做啥

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

举报

0/150
提交
取消

加了个循环,可以不?

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