雖然輸出通過了,但是看代碼感覺怪怪的
#include <stdio.h>
int main()?
{?
? ? /* 定義需要計(jì)算的日期 */
? ? int year = 2008;
? ? int month = 8;
? ? int day = 8;
? ? int sum;
? ? /*
? ? ?* 請使用switch語句,if...else語句完成本題
? ? ?* 如有想看小編思路的,可以點(diǎn)擊左側(cè)任務(wù)中的“不會(huì)了怎么辦”
? ? ?* 小編還是希望大家獨(dú)立完成哦~
? ? ?*/
? ? switch(month)
? ? {
? ? ? ? case 1 : sum=0;break;
? ? ? ? case 2 : sum=31;break;
? ? ? ? case 3 : sum=31+28;break;
? ? ? ? case 4 : sum=31+28+31;break;
? ? ? ? case 5 : sum=31+28+31+30;break;
? ? ? ? case 6 : sum=31+28+31+30+31;break;
? ? ? ? case 7 : sum=31+28+31+30+31+30;break;
? ? ? ? case 8 : sum=31+28+31+30+31+30+31;break;
? ? ? ? case 9 : sum=31+28+31+30+31+30+31+31;break;
? ? ? ? case 10 : sum=31+28+31+30+31+30+31+31+30;break;
? ? ? ? case 11 : sum=31+28+31+30+31+30+31+31+30+31;break;
? ? ? ? case 12 : sum=31+28+31+30+31+30+31+31+30+31+30;break;
? ? ? ? default : printf("一年只有12個(gè)月啊?。?!");break;
? ? }
? ? ? ? if(year%4==0)
? ? ? ? {? ?
? ? ? ? ? ? if(month>=2)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? sum=sum+day+1;
? ? ? ? ? ? ? ??
? ? ? ? ? ? }
? ? ? ? ? ?
? ? ? ? ? ??
? ? ? ? else{
? ? ? ? ? ? ? ? sum=sum+day;
? ? ? ? ? ? ? ? }
? ? ? ? ? ? printf("%d年%d月%d日是該年的第%d天",year,month,day,sum);
? ? ? ? }
? ? ? ?
? ??
return 0;
}
//我這里閏年假設(shè)就是按4年算的,沒有按百年和四百年算
2020-09-04
這個(gè)思路是我覺得最好的啊
2020-08-13
一月應(yīng)該是sum=day;
二月應(yīng)該是sum=31+day;以此類推;寫完十二個(gè)月!
然后閏年計(jì)算方法:四年一潤,百年不潤,四百年再潤(year%4==0&&year%100!=0)||(year%400==0)? ??
month>2不是大于等于