這樣打代碼哪里有錯...求大神解答
#include <stdio.h>
int main()?
{?
? ? int year = 2008;
? ? int month = 8;
? ? int day = 8;
? ? int i,sum;
? ? int Jan = 31;
? ? int Feb = 28;
? ? int Mar = 31;
? ? int Apr = 30;
? ? int May = 31;
? ? int Jun = 30;
? ? int Jul = 31;
? ? int Aug = 31;
? ? int Sep = 30;
? ? int Oct = 31;
? ? int Nov = 30;
? ? int Dec = 31;
? ? if(year%100==0&&year%400==0||year%4==0&&year%100!=0)i=1;
? ? else i=0;
? ? switch(month)
? ? {
? ? ? ? case 1:sum = Jan break;
? ? ? ? case 2:sum = Jan+Feb break;
? ? ? ? case 3:sum = Jan+Feb+Mar break;
? ? ? ? case 4:sum = Jan+Feb+Mar+Apr break;
? ? ? ? case 5:sum = Jan+Feb+Mar+Apr+May break;
? ? ? ? case 6:sum = Jan+Feb+Mar+Apr+May+Jun break;
? ? ? ? case 7:sum = Jan+Feb+Mar+Apr+May+Jun+Jul break;
? ? ? ? case 8:sum = Jan+Feb+Mar+Apr+May+Jun+Jul+Aug break;
? ? ? ? case 9:sum = Jan+Feb+Mar+Apr+May+Jun+Jul+Aug+Sep break;
? ? ? ? case 10:sum = Jan+Feb+Mar+Apr+May+Jun+Jul+Aug+Sep+Oct break;
? ? ? ? case 11:sum = Jan+Feb+Mar+Apr+May+Jun+Jul+Aug+Sep+Oct+Nov break;
? ? ? ? case 12:sum = Jan+Feb+Mar+Apr+May+Jun+Jul+Aug+Sep+Oct+Nov+Dec break;
? ? }
? ? if(i==1)sum+=1;
? ? printf("%d年%d月%d日是該年的第%d天",year,month,day,sum);
? ? return 0;
}
2017-10-06
Jan的值應該賦為0,二月賦一月的天數(shù),三月賦二月的天數(shù),依次下去。比如一月3號,按照你的代碼在計算時就會是第34天,實際上是第三天。不知道有沒有講清楚⊙﹏⊙
2017-10-10
可以把switch(month)改成switch(month-1)