亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

有沒有大佬跟我解釋一下這題

#include <stdio.h>
int main()
{
??? /* 定義需要計算的日期 */
??? int year = 2008;
??? int month = 8;
??? int day = 8;
??? /*
???? * 請使用swtich語句,if...else語句完成本題
???? * 如有想看小編思路的,可以點擊左側任務中的“不會了怎么辦”
???? * 小編還是希望大家獨立完成哦~
???? */
??? int date = 0;
??? switch (month)
??? {
??????? case 12:??? date += 30;
??????? case 11:??? date += 31;
??????? case 10:??? date += 30;
??????? case 9:??? date += 31;
??????? case 8:??? date += 31;
??????? case 7:??? date += 30;
??????? case 6:??? date += 31;
??????? case 5:??? date += 30;
??????? case 4:??? date += 31;
??????? case 3:??? if(year%400 != 0 && year%4 == 0){
??????????????????????? date += 29;
??????????????????? }else{
??????????????????????? date += 28;}
??????? case 2:??? date += 31;
??????? default:??? date += 8,printf("2008年8月8日是該年的第%d天",date);break;
??? }
?return 0;
}

正在回答

2 回答

switch()括號里應該寫month-1,八月只過了八天,不能加上八月,執行順序是switch(7),接著執行 case 7語句,date開始累加,case里沒有break語句,所以會一直往下執行,if應該在case 2寫,把case 1寫上,累加了1~7月的天數,最后在default里加上day(即date += day; ),使用day可以提高代碼的復用性。最后貼上我自己的代碼:

#include?<stdio.h>
int?main()?
{?
????/*?定義需要計算的日期?*/
????int?year?=?2008;
????int?month?=?8;
????int?day?=?8;
????/*
?????*?請使用switch語句,if...else語句完成本題
?????*?如有想看小編思路的,可以點擊左側任務中的“不會了怎么辦”
?????*?小編還是希望大家獨立完成哦~
?????*/
????int?sum?=?0;
?????
????switch(month?-?1){
????????
????????case?12:
????????????sum?+=?31;
????????case?11:
????????????sum?+=?30;
????????case?10:
????????????sum?+=?31;
????????case?9:
????????????sum?+=?30;
????????case?8:
????????????sum?+=?31;
????????case?7:
????????????sum?+=?31;
????????case?6:
????????????sum?+=?30;
????????case?5:
????????????sum?+=?31;
????????case?4:
????????????sum?+=?30;
????????case?3:
????????????sum?+=?31;
????????case?2:
????????????if(year%4?==?0)
????????????????sum?+=?29;
????????????else
????????????????sum?+=?28;
????????case?1:
????????????sum?+=?31;
????????default:
????????????sum?+=?day;
????????????break;
????}?
????printf("2008年8月8日是該年的第%d天",sum);
????
????return?0;
}

你自己理解理解!

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

你這沒錯啊

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

慕神5149347 提問者

我知道沒錯,我只是想知道怎么運算的
2019-03-05 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

有沒有大佬跟我解釋一下這題

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號