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

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

為什么每次輸出的數據都不一樣

{?

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

? ? int year = 2008;

? ? int month = 8;

? ? int day = 8;

? ? int sum;

? ? /*

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

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

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

? ? ?*/

? ? ?switch(month)

? ? {

? ? ? ? case 1:sum=0;break;

? ? ? ? case 2:sum+=31;break;

? ? ? ? case 3:if(( year%4==0 && year%100!=0 ) || year%400==0 )

? ? ? ? ? ? ? ? ? ? sum+=29;

? ? ? ? ? ? ? ? else

? ? ? ? ? ? ? ? ? ? ?sum+=28;

? ? ? ? ? ? ? ? break;

? ? ? ? case 4:sum+=31;break;

? ? ? ? case 5:sum+=30;break;

? ? ? ? case 6:sum+=31;break;

? ? ? ? case 7:sum+=30;break;

? ? ? ? case 8:sum+=31;break;

? ? ? ? case 9:sum+=31;break;

? ? ? ? case 10:sum+=30;break;

? ? ? ? case 11:sum+=31;break;

? ? ? ? case 12:sum+=30;break;

? ? }

? ? sum=sum+day;

? ? printf("2018年8月8日是該年的第%d天",sum);

return 0;

}


提交一次結果變一次,而且居然還有負數......

正在回答

2 回答

你sum沒有賦初值,而且你算法寫錯了。

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

慕尼黑8449349 提問者

在case 1那里sum=0不算賦值嗎?算法具體錯在哪兒?emmmmmm求教
2019-08-14 回復 有任何疑惑可以回復我~
#2

小小疾飛 回復 慕尼黑8449349 提問者

你都已經在用了,怎么叫賦初值。在這個情況下,定義的時候要賦值。int sum;改成int sum=0;
2019-08-14 回復 有任何疑惑可以回復我~
#3

慕尼黑8449349 提問者 回復 小小疾飛

謝謝?。?!
2019-08-14 回復 有任何疑惑可以回復我~

你的程序 每一個CASE都BREAK? 每次只能輸出31 30之類的數字吧 可以把月份倒過來設置 break去掉 sum+=30(31);?

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

舉報

0/150
提交
取消

為什么每次輸出的數據都不一樣

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

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

幫助反饋 APP下載

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

公眾號

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