哪里錯了??為什么
#include <stdio.h>
int main()?
{?
? ? /* 定義需要計算的日期 */
? ? int year = 2008;
? ? int month = 8;
? ? int day = 8;
? ? /*
? ? ?* 請使用swtich語句,if...else語句完成本題
? ? ?* 如有想看小編思路的,可以點擊左側(cè)任務中的“不會了怎么辦”
? ? ?* 小編還是希望大家獨立完成哦~
? ? ?*/
? ? int sum;
? ? switch(month)
? ? {
? ? case0:sum=0;break;
? ? case1:sum=31;break;
? ? case2:if((year%4==0&&year%100!=0)||(year%400==0))
? ? {
? ? ? ? day=29;
? ? ? ? sum=day+31;
? ? ? ? else?
? ? ? ? day=28;
? ? ? ? sum=day+31;
? ? };break;
? ? case3:sum=31+31+day;break;
? ? case4:sum=31+31+30+day;break;
? ? case5:sum=31+31+31+30+day;break;
? ? case6:sum=31+31+31+30+30+day;break;
? ? case7:sum=31+31+31+31+30+30+day;break;
? ? case8:sum=31+31+31+31+30+30+8+day;break;
? ? defult:printf("今年有365天。");
? ? }
printf("%d年%d月%d天是該年的第%d天",year,month,day,sum);
return 0;
}
2015-09-15
1、if...else是分開用的,你直接把else放在if塊中了,并且少了{}
2、default少了一個a
3、有好幾處標點符號用成了中文標點
4、case和值之間要加個空格
2015-10-07
你這是錯的運行出來是200天,月份為八,會直接跳到case8向下執(zhí)行,你前面寫的二月份的判斷會直接跳過。應該像老師一樣把二月份的判斷寫在外面。
2015-09-15
#include <stdio.h>
int main()?
{?
? ? /* 定義需要計算的日期 */
? ? int year = 2008;
? ? int month = 8;
? ? int day = 8;
? ? /*
? ? ?* 請使用swtich語句,if...else語句完成本題
? ? ?* 如有想看小編思路的,可以點擊左側(cè)任務中的“不會了怎么辦”
? ? ?* 小編還是希望大家獨立完成哦~
? ? ?*/
? ? int sum;
? ? switch(month)
? ? {
? ? case 0:sum=0;break;
? ? case 1:sum=31;break;
? ? case 2:if((year%4==0&&year%100!=0)||(year%400==0))
? ? {
? ? ? ? day=29;
? ? ? ? sum=day+31;
? ? ? ?
? ? }else{
? ? ? ? day=28;
? ? ? ? sum=day+31;
? ? }break;
? ? case 3:sum=31+31+day;break;
? ? case 4:sum=31+31+30+day;break;
? ? case 5:sum=31+31+31+30+day;break;
? ? case 6:sum=31+31+31+30+30+day;break;
? ? case 7:sum=31+31+31+31+30+30+day;break;
? ? case 8:sum=31+31+31+31+30+30+8+day;break;
? ? default:printf("今年有365天。");
? ? }
printf("%d年%d月%d天是該年的第%d天",year,month,day,sum);
return 0;
}