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

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

不明白哪里不對,求解

#include <stdio.h>

int main()?

{?

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

? ? int year = 2008;

? ? int month = 8;

? ? int day = 8;

? ? /*

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

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

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

? ? ?*/

? ? int sum,i;

? ? sum=0;

? ? for (i=0;i<=8;i++)

? ? {

? ? ? ? switch(i)

? ? ? ? {

? ? ? ? ? ? case 1:i+=31;

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

? ? ? ? ? ? ? ? ? ? {

? ? ? ? ? ? ? ? ? ? ? ?i+=29;?

? ? ? ? ? ? ? ? ? ? }

? ? ? ? ? ? ? ? ? ? else

? ? ? ? ? ? ? ? ? ? {

? ? ? ? ? ? ? ? ? ? ? ? i+=28;

? ? ? ? ? ? ? ? ? ? }

? ? ? ? ? ? case 3:i+=31;

? ? ? ? ? ? case 4:i+=30;

? ? ? ? ? ? case 5:i+=31;

? ? ? ? ? ? case 6:i+=30;

? ? ? ? ? ? case 7:i+=31;

? ? ? ? ? ? case 8:i+=31;

? ? ? ? ? ? break;

? ? ? ??

? ? ? ? }

? ? ? ? sum=sum+i;

? ? ? ? sum+=8;

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

? ? }

return 0;

}


正在回答

2 回答

孩紙 ?你太調皮了 ?要加break ?還有 你的 i+=····各個變量有實際意義的不要亂用 ?要養成好習慣

這是正確的代碼 ?看看思路吧

#include <stdio.h>

int main()

{

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

? ? int year = 2008;

? ? int month = 8;

? ? int day = 8;


? ? int sum, i;

? ? sum=0;//sum代表總天數


? ? for (i=0;i<month;i++)//每個月的天數加起來 i代表第i個月

? ? {

? ? ? ? switch(i)

? ? ? ? {

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

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

? ? ? ? ? ? ? ? ? ? {

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

? ? ? ? ? ? ? ? ? ? }

? ? ? ? ? ? ? ? ? ? else

? ? ? ? ? ? ? ? ? ? {

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

? ? ? ? ? ? ? ? ? ? }break;

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

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

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

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

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

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

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

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

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

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

? ? ? ? ? ? default: ? ? ? ? ? ? ? ?;

? ? ? ? }

? ? }

? ? sum+=day;

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

????return 0;

}

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

夜半飲酒 提問者

只有八月,為什么case 里面要寫到12月???那個break不是用來跳出循環的嗎。。。我想就到八月過,所以只有那里放了break。。。。是不是跳出一個循環然后開始下一個??額。。。。。還有一個問題,for循環里,為什么i要小于month????謝謝你,大好人
2016-12-27 回復 有任何疑惑可以回復我~

恩恩 ? 那個本人有喜歡完整 ? 就把月份都寫出來了

那個12月份可以不寫 ?不影響的

對break可以跳出循環 ?也可以跳出switch語句

for里面包含或者說嵌套了一個switch語句,里面的break可以跳出

本題用i代表月份 ?i<month=8 ?即i可以等于1,2,3····7,這幾個月的天數加起來 ? 再單獨加第8月的天數



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

夜半飲酒 提問者

謝謝,我現在明白了
2016-12-30 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
C語言入門
  • 參與學習       926904    人
  • 解答問題       21532    個

C語言入門視頻教程,帶你進入編程世界的必修課-C語言

進入課程

不明白哪里不對,求解

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

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

幫助反饋 APP下載

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

公眾號

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