這個為什么不對
#include <stdio.h>
int main()?
{?
? ? /* 定義需要計算的日期 */
? ? int year = 2008;
? ? int month = 8;
? ? int day = 8;
? ? /*
? ? ?* 請使用switch語句,if...else語句完成本題
? ? ?* 如有想看小編思路的,可以點擊左側任務中的“不會了怎么辦”
? ? ?* 小編還是希望大家獨立完成哦~
? ? ?*/
? ? 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("一年只有12個月"); break;
? ? ? ? }
? ? ? ? sum=sum+day;
? ? if((year%4==0 && year%100 !=0) || year%400==0)
? ? {
? ? ? ? flag=1;
? ? }
? ? else
? ? {
? ? ? ? flag=0;
? ? }
? ? if(flag==1 && month>2)
? ? {
? ? ? ? sum++;
? ? printf("%d年%d月%d天是這一年的第%d天" , year, month, day, sum);
? ? }
return 0;
}
2021-05-04
同學你好,你這里調用的 sum flag 沒有聲明變量。
在C語言中,變量需要先聲明才能使用。
解決方法:
在switch前聲明: