大佬看看我哪里有問題
#include <stdio.h>
int main()?
{?
? ? /* 定義需要計算的日期 */
? ? int year = 2008;
? ? int month = 13;
? ? int day = 8;
? ? /*
? ? ?* 請使用switch語句,if...else語句完成本題
? ? ?* 如有想看小編思路的,可以點擊左側任務中的“不會了怎么辦”
? ? ?* 小編還是希望大家獨立完成哦~
? ? ?*/
? ? int sum,flag;
? ? 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("傻啊,一年只有十二個月");break;
? ? }
? ??
? ? sum=sum+day;
? ? if(year%400==0||(year%4==0&&year%100!=0))
? ? ?flag=1;
? ? ?else
? ? ?flag=0;
? ? ?if(flag==1&&month>2)
? ? ?sum++;
? ? ?printf("%d年%d月%d日是該年的第%d天",year,month,day,sum);
return 0;
我把八月改成13月輸出;傻啊,一年只有12月2008年13月8日是。。。天
求助?。。?!謝謝
2018-09-19
不好意思,剛剛看錯問題了,在最后的printf前面加個if語句判斷一下mouth的值,在1-12內就輸出,不是就輸出你default里面的話,至于上面switch里面那個default就全刪掉吧。
2018-09-19
沒定義sum的初始值,switch前面加個 sum=0;