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

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

為什么這個代碼不能提交?

#include <stdio.h>

int main()?

{?

? ? /* 定義需要計算的日期 */

? ? int year = 2008;

? ? int month = 8;

? ? int day = 8;

? ? int sum = 0;

? ? /*

? ? ?* 請使用switch語句,if...else語句完成本題

? ? ?* 如有想看小編思路的,可以點擊左側任務中的“不會了怎么辦”

? ? ?* 小編還是希望大家獨立完成哦~

? ? ?*/

? ? do

? ? {

? ? ? ? switch(month)

? ? ? ? {

? ? ? ? ? ? case 1:

? ? ? ? ? ? case 3:

? ? ? ? ? ? case 5:

? ? ? ? ? ? case 7:

? ? ? ? ? ? case 8:

? ? ? ? ? ? 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;

? ? ? ? }

? ? }while(month>=2);

? ? printf("%d",sum);

return 0;

}


正在回答

3 回答

你swtich里面是month = 8,對應 執行case8里面的代碼


所以對于你case2 里面的判定 拿到外面來 對sum進行運算


#include <stdio.h>
int main()
{
?/* 定義需要計算的日期 */
?int year = 2008;
?int month = 8;
?int day = 8;
?int sum = 0;
?/*
? * 請使用switch語句,if...else語句完成本題
? * 如有想看小編思路的,可以點擊左側任務中的“不會了怎么辦”
? * 小編還是希望大家獨立完成哦~
? */
?do
?{
??switch (month)
??{
??case 1:
??case 3:
??case 5:
??case 7:
??case 8:
???sum = 31 + 31 + 30 + 31 + 30 + 31 + day;
???break;


??default:
???printf("只有十二個月");
???break;
??}
?} while (month <= 2);
?if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0)
?{
??sum += 29;
??printf("%d年%d月%d日是該年的第%d天", year, month, day, sum);
?}
?else
?{
??sum += 28;
??printf("%d年%d月%d日是該年的第%d天", year, month, day, sum);
?}

?return 0;
}


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

iTassel

以及你的do while循環語句是遇假則跳出循環 你寫>=2 則會一直循環下去 然后就是 如果要判定2月以下 整個寫個判定
2019-09-03 回復 有任何疑惑可以回復我~

高手就是高手

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

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


???default:
????printf("只有十二個月");
????break;
???}
??} while (month <= 2);
??if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0)
??{
???sum += 29;
???printf("%d年%d月%d日是該年的第%d天", year, month, day, sum);
??}
??else
??{
???sum += 28;
???printf("%d年%d月%d日是該年的第%d天", year, month, day, sum);
??}
?}
?else
?{
??if (month = 1)
??{
???sum = day;
???printf("%d年%d月%d日是該年的第%d天", year, month, day, sum);
??}
??else
??{
???sum = 31 + day;
???printf("%d年%d月%d日是該年的第%d天", year, month, day, sum);
??}
?}
?return 0;
}

這樣寫 比較復雜 但是應該可以 我也C萌新

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

iTassel

所以里面 do while就沒用了 應該刪掉 直接swtich就行
2019-09-03 回復 有任何疑惑可以回復我~
#2

煌璃瞻 提問者 回復 iTassel

你這可以??
2019-09-03 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

為什么這個代碼不能提交?

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

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

幫助反饋 APP下載

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

公眾號

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