求問大神,我這樣可以寫可以嗎?
#include <stdio.h>
int main()?
{?
? ? /* 定義需要計(jì)算的日期 */
? ? int year = 2008;
? ? int month = 8;
? ? int day = 8;
? ? /*
? ? ?* 請(qǐng)使用switch語句,if...else語句完成本題
? ? ?* 如有想看小編思路的,可以點(diǎn)擊左側(cè)任務(wù)中的“不會(huì)了怎么辦”
? ? ?* 小編還是希望大家獨(dú)立完成哦~
? ? ?*/
? ? int sum=0;
? ? switch(month)
? ? {
? ? ? case 1:sum+=31;break;
? ? ? case 2:if(year%4&&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+=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("%d年%d月%d日是該年的第%d天",year,month,day,sum);
? ? }?
return 0;
}
2019-03-22
不可以這樣寫,你的sum只累積了某個(gè)月的天數(shù),并沒有累計(jì)其他月份的天數(shù)
2019-03-22
? ?/* 定義需要計(jì)算的日期 */
? ? int year = 2008;
? ? int month = 8;
? ? int day = 8;
? ? /*
? ? ?* 請(qǐng)使用switch語句,if...else語句完成本題
? ? ?* 如有想看小編思路的,可以點(diǎn)擊左側(cè)任務(wù)中的“不會(huì)了怎么辦”
? ? ?* 小編還是希望大家獨(dú)立完成哦~
? ? ?*/
? ? int sum=0;
? ? int i;
? ? for(i=1;i<month;i++)
? ? {
? ? ? ? switch(month)
? ? ? ? {
? ? ? ? ?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;
? ? ? ? } ?
? ? }
? ? ? sum=sum+day;
? ? ? printf("%d年%d月%d日是該年的第%d天",year,month,day,sum);
return 0;
}