为什么switch不放在if里结果会是225?
如题,switch放在if里答案是对的。
2016-03-10
#include <stdio.h> int main() { /* 定义需要计算的日期 */ int year = 2008; int month = 8; int day = 8; int date; int flag=0; int sum=0; /* * 请使用switch语句,if...else语句完成本题 * 如有想看小编思路的,可以点击左侧任务中的“不会了怎么办” * 小编还是希望大家独立完成哦~ */ if(year%400==0||year%4==0&&year%100!=0) flag=1; switch(month) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: date=31;//date=31 break;//跳出循环 case 4: case 6: case 9: case 11: date=30; break; case 2: if(flag) date=29; else date=28; break; }//date==31 for(month=1;month<8;month++) { sum+=date;//sum==date*7==217 } sum+=day;//sum=217+8=225 printf("%d年%d月%d日是该年的第%d天",year,month,day,sum); return 0; }
举报