請(qǐng)問(wèn)錯(cuò)誤在哪里呢
#include <stdio.h>
int main()?
{?
? ? /* 定義需要計(jì)算的日期 */
? ? int year = 2008;
? ? int month = 8;
? ? int day = 8;
? ? int i,sun;
? ? if(year%400==0||(year%4==0&&year%100!=0))i=1;
? ? else i=0;
? ? /*
? ? ?* 請(qǐng)使用switch語(yǔ)句,if...else語(yǔ)句完成本題
? ? ?* 如有想看小編思路的,可以點(diǎn)擊左側(cè)任務(wù)中的“不會(huì)了怎么辦”
? ? ?* 小編還是希望大家獨(dú)立完成哦~
? ? ?*/
? ? switch(month)
? ? {
? ? case 1:sum+=0;break;
? ? case 2:sum+=31;break;
? ? case 3:sum+=59;break;
? ? case 4:sum+=80;break;
? ? case 5:sum+=110;break;
? ? case 6:sum+=141;break;
? ? case 7:sum+=171;break;
? ? case 8:sum+=202;break;
? ? case 9:sum+=233;break;
? ? case 10:sum+=263;break;
? ? case 11:sum+=294;break;
? ? case 12:sum+=324;break;
? ? }
? ? if(i==1&&month>2)
? ? sum++;
? ? printf("%d年%d月%d日是該年的第%d天",year,month,day,sum);
return 0;
}
2019-12-04
你的邏輯有問(wèn)題,不應(yīng)該先判斷平年還是閏年的,還有就是switch語(yǔ)句里,sum+=的意思的,sum=sum+后面賦的值,這樣寫(xiě)得話(huà)最好先給sum賦初值。還有個(gè)小建議,if,else循環(huán)最好用{這個(gè)}括起來(lái)
2019-12-04
#include <stdio.h>
int main()?
{?
? ?
? ? int year = 2008;
? ? int month = 8;
? ? int day = 8;
??
? ? ?int sum,j;
? ? ?switch(month){
? ? ? ? ?case 1: sum=0 ; break;
? ? ? ? ?case 2: sum=31 ; break;
? ? ? ? ?case 3: sum=59; break;
? ? ? ? ?case 4: sum=90 ; break;
? ? ? ? ?case 5: sum=120; break;
? ? ? ? ?case 6: sum=151 ; break;
? ? ? ? ?case 7: sum=181 ; break;
? ? ? ? ?case 8: sum=212 ; break;
? ? ? ? ?case 9: sum=242 ; break;
? ? ? ? ?case 10: sum=273 ; break;
? ? ? ? ?case 11: sum=304 ; break;
? ? ? ? ?case 12: sum=334 ; break;
? ? ?}
? ? sum=sum+day;
? ? if(year%4==0 && year%100!=0 || year%400==0){
? ? ? ? j=1;
? ? }
? ? else{
? ? ? ? j=0;
? ? }
? ??
? ? if(j==1 && month>2){
? ? ? ? sum++;
? ? }
? ? printf("%d年%d月%d日這一天,是該年的第%d",year,month,day,sum);
return 0;
}