請問下我這個哪里錯了啊
#include<stdio.h>
int main()
{
? ? int year=2008;
? ? int month=8;
? ? int date=8;
? ? int d=0,m;
? ? for(m=1;m<month;m++)
? ? {
? ? ? ? d+=31;
? ? ? ? switch(m)
? ? ? ? {
? ? ? ? ? ? case 2:
? ? ? ? ? ? ? ? if(year%4==0)
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? d-=2;
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? else
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? d-=3;
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? break;
? ? ? ? ? ? case 4:
? ? ? ? ? ? ? ? d-=1;
? ? ? ? ? ? ? ? break;
? ? ? ? ? ? case 6:
? ? ? ? ? ? ? ? d-=1;
? ? ? ? ? ? ? ? break;
? ? ? ? ? ? case 9:
? ? ? ? ? ? ? ? d-=1;
? ? ? ? ? ? ? ? break;
? ? ? ? ? ? case 11:
? ? ? ? ? ? ? ? d-=1;
? ? ? ? ? ? ? ? break;
? ? ? ? }
? ? }
? ? d+=date;
? ? printf("%d",d);
? ? return 0;
}
輸出之后現(xiàn)實的是這個
2019-09-08
你這個程序題目要求是用if和switch函數(shù),而你咋用了for呢?從你后面的代碼感覺你對switch函數(shù)還不是很熟吧?搞清switch函數(shù)的本質(zhì)就好了,如果真的不懂歡迎再問。
2019-09-08
感覺你想得有點(diǎn)復(fù)雜了,我也沒咋看懂你的程序,也許是我太蠢了吧!但是講真你可以重新理一下思緒,換個思路可能程序可讀性更高,對于一個程序猿來說保證程序可讀性可是很重要的哦。不知道我的回答對你會不會有幫助? ?
這是我的程序:
? ? int year = 2008;
??? int month = 8;
??? int day = 8;
?? if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0)
???day += 29;
?? else
???day += 28;
?switch (month)
?{ ?
? case 8:
??day += 31+31+30+31+30+31;
?}
?printf("2008年8月8日是該年的第%d天", day);
return 0;
2019-09-06
呃,刷新之后就顯示212了……可答案是221……這個它具體是怎么執(zhí)行的啊