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

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

大佬幫忙看看哪里錯了

請使用switch語句和if...else語句,計算2008年8月8日這一天,是該年中的第幾天。

程序分析:

? 以5月1日為例,應該先把前4個月的天數加起來,然后再加上1天即本年的第幾天。

特殊情況:

? 在計算閏年的時候,2月是29天


#include <stdio.h>

int main()?

{?

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

? ? int year = 2008;

? ? int month = 8;

? ? int day = 8;

? ? int big month=31;//1,3,5,7,8,10,12月

? ? int small month=30;//4,6,9,11月

? ? //天數

? ? int mun;

? ? //檢測是否為閏年的狀態位

? ? int flag;

??

? ? switch(month){

? ? ? ? //1月

? ? ? ? case 1:

? ? ? ? ? ? ?mun=big month;

? ? ? ? ? ? ?break;

? ? ? ? case 2:

? ? ? ? //1,2月

? ? ? ? ? ? ?mun=big month+28;

? ? ? ? ? ? ?break;

? ? ? ? case 3:

? ? ? ? //1,2,3

? ? ? ? ? ? ?mun=(big month*2)+28;

? ? ? ? ? ? ?break;

? ? ? ? case 4:

? ? ? ? //1,2,3,4月

? ? ? ? ? ? ?mun=(big month*2)+28+small month;

? ? ? ? ? ? ?break;

? ? ? ? case 5:

? ? ? ? //1,2,3,4,5月

? ? ? ? ? ? ?mun=(big month*3)+28+small month;

? ? ? ? ? ? ?break;

? ? ? ? case 6:

? ? ? ? //1,2,3,4,5,6月

? ? ? ? ? ? ?mun=(big month*3)+28+(small month*2);

? ? ? ? ? ? ?break;

? ? ? ? case 7:

? ? ? ? //1,2,3,4,5,6,7月

? ? ? ? ? ? ?mun=(big month*4)+28+(small month*2);

? ? ? ? ? ? ?break;

? ? ? ? case 8:

? ? ? ? //1,2,3,4,5,6,7,8月

? ? ? ? ? ? ?mun=(big month*5)+28+(small month*2);

? ? ? ? ? ? ?break;

? ? ? ? case 9:

? ? ? ? //1,2,3,4,5,6,7,8,9月

? ? ? ? ? ? ?mun=(big month*5)+28+(small month*3);

? ? ? ? ? ? ?break;

? ? ? ? case 10:

? ? ? ? //1,2,3,4,5,6,7,8,9,10月

? ? ? ? ? ? ?mun=(big month*6)+2month+(small month*3);

? ? ? ? ? ? ?break;

? ? ? ? case 11:

? ? ? ? //1,2,3,4,5,6,7,8,9,10,11月

? ? ? ? ? ? ?mun=(big month*6)+28+(small month*4);

? ? ? ? ? ? ?break;

? ? ? ? case 12:

? ? ? ? //1,2,3,4,5,6,7,8,9,10,11,12月

? ? ? ? ? ? ?mun=(big month*7)+28+(small month*4);

? ? ? ? ? ? ?break;

? ? ? ? default:

? ? ? ? ? ? ?printf("一年當中只有12個月");

? ? ? ? ? ? ?break;

? ? }

? ? //計算天數

? ? mun+=day;

? ??

? ? //當改年為閏年時,將狀態位設置成1,否則為0

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

? ? ? ? ?flag=1;

? ? else

? ? ? ? ?flag=0;

? ? ? ? ?

? ? //即改年為閏年,2月為29天? ??

? ? if(flag==1&&month>2)

? ? ? ? ?mun+=1;

? ? ? ? ?

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

return 0;

}


正在回答

2 回答

滴滴滴

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

丷漸入佳境

2month什么鬼 還有small month變量能這么命名么 還有case的應該是month-1
2022-03-11 回復 有任何疑惑可以回復我~

在線等,感謝指導

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

克里斯老劉 提問者

解答成功的大神一定會收納的!
2022-02-11 回復 有任何疑惑可以回復我~
#2

克里斯老劉 提問者 回復 克里斯老劉 提問者

滴滴滴
2022-02-15 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

大佬幫忙看看哪里錯了

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

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

幫助反饋 APP下載

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

公眾號

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