钟阿瞒i
2017-08-01 10:56
#include <stdio.h>
int main()
{
/* 定义需要计算的日期 */
int year = 2008;
int month = 8;
int day = 8;
int sum;
switch(year)
{
case 1 : day=31;
case 2 : if(year%100=0&&year%400=0||year%4=0)day=29;
else day=28;
case 3 : day=31;
case 4 : day=30;
case 5 : day=31;
case 6 : day=30;
case 7 : day=31;
case 8 : day=31;
case 9 : day=30;
case 10 : day=31;
case 11 : day=30;
case 12 : day=31;
break;
}
sum=sum+day;
printf("%d年%d月%d日是该年的第%d天",year,month,day,sum)
return 0;
}
你switch的是year...你下面没有一个case是对的上的,就算是month...由于case之间没有break,会从case8由上往下执行,你的day最终的值是31...牵扯到sum计算的也只有sum=sum+day...应该是31=0+31...sum最终值也就是31,要改的地方挺多的...我switch也不熟,经常用for或者if写- -,你看下左边题目拉到最下面,有个不会了怎么办,哪里的答案写的挺好的...至少让我用switch,我上来是懵逼的- -
C语言入门
926028 学习 · 20793 问题
相似问题