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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

請教各位大神如何解決這個問題(switch-case語句中)

請教各位大神如何解決這個問題(switch-case語句中)

C C++
慕粉1600176492 2016-10-29 19:27:04
//輸入格式例如:2016年1月1號,,應寫為2016/1/1#include"stdio.h"?int main()?{ int year,month,day,sumday=0; scanf("%d/%d/%d",&year,&month,&day);//個位數的前面不加0,例如8月寫成8,而不是08。 switch(month) { case 1:{printf("sumday=%d",sumday+day);break;} sumday+=31; case 2: {printf("sumday=%d",sumday+day);break;} if((year%100!=0&&year%4==0)||year%400==0) { sumday=sumday+29; } else { sumday=sumday+28; } case 3:{printf("sumday=%d",sumday+day);break;} sumday=sumday+31; case 4:{printf("sumday=%d",sumday+day);break;} sumday+=30; case 5:{printf("sumday=%d",sumday+day);break;} sumday+=31; case 6:{printf("sumday=%d",sumday+day);break;} sumday+=30; case 7:{printf("sumday=%d",sumday+day);break;} sumday+=31; case 8:{printf("sumday=%d",sumday+day);break;} sumday+=31; case 9:{printf("sumday=%d",sumday+day);break;} sumday+=30; case 10:{printf("sumday=%d",sumday+day);break;} sumday+=31; case 11:{printf("sumday=%d",sumday+day);break;} sumday+=30; case 12:{printf("sumday=%d",sumday+day);break;} default:printf("error\n"); break; } return 0;?}//為什么輸入2016/12/31,結果顯示確實“sum=31”
查看完整描述

2 回答

?
心有猛虎_細嗅薔薇

TA貢獻119條經驗 獲得超250個贊

你switch語句里的case執行語句出錯了。修改為case 月份:{printf("%d/%d/%d",year,month,day);break;}。

month為判斷條件。http://img1.sycdn.imooc.com//58148e890001271911770737.jpg

這段代碼稍作修改還可以求某年某月某日的某一天是該年的第幾天^_^

查看完整回答
2 反對 回復 2016-10-29
  • 慕粉1600176492
    慕粉1600176492
    是的,我就是想求某年某月某日是該年的第幾天,但是怎么解決這個問題,怎么才能讓sumday+=31這個語句對整體發揮作用,而不是當我選擇了這個case之后才執行sumday+=31; 比如我輸出2016/8/21,也就是8之前的sumday+=31(30)語句全都執行,請問怎么解決呢
  • 慕粉1600176492
    慕粉1600176492
    但是輸出的東西,并不直觀,后面的所有的都輸出了
?
qq_深貓_04306026

TA貢獻1條經驗 獲得超0個贊


switch 語句的執行是尋找到符合條件的 case ,然后去執行這個 case 后面的語句,直到碰到 break ;

雖然你中間都有 sumday += 30 之類的操作,但實際上任何一句都沒有被執行過,不要把語句放到兩個 break 之間,這是不會被執行的。

查看完整回答
反對 回復 2016-10-29
  • 慕粉1600176492
    慕粉1600176492
    這個我明白,但是我去掉break之后,后面的所有的選擇都會出來,完全看不出是算的幾月,如果是調換位置,那么該怎么調換呢
  • 2 回答
  • 0 關注
  • 2746 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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