為什么最后的判斷條件中flag=1一定要在month>2的前面?
#include <stdio.h>
int main()?
{?
? ? /* 定義需要計算的日期 */
? ? int year = 2008;
? ? int month = 8;
? ? int day = 8;
? ? /*
? ? ?* 請使用switch語句,if...else語句完成本題
? ? ?* 如有想看小編思路的,可以點擊左側(cè)任務(wù)中的“不會了怎么辦”
? ? ?* 小編還是希望大家獨立完成哦~
? ? ?*/
? ? int sum,flag;
? ? 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=243;break;
? ? ? ? case 10:sum=273;break;
? ? ? ? case 11:sum=304;break;
? ? ? ? case 12:sum=334;break;
? ? ? ? default:printf("一年只有十二個月哦~");break;
? ? }
? ? sum=sum+day;
? ? if(year%400==0||(year%4==0&&year%100!=0))
? ? ? ? flag=1;
? ? else
? ? ? ? flag=0;
? ? if(flag=1&&month>2)
? ? ? ? sum++;
? ? printf("%d年%d月%d日是該年的第%d天",year,month,day,sum);
return 0;
}
2018-08-07
,,,這個對你的結(jié)果 根本沒影響,你要是看不慣就換個位置啊?