INFINITY0009
2021-07-30 14:32
#include <stdio.h>
int main()
{
int year = 2008;
int month = 8;
int day = 8;
int sum;
switch(month)
{
case 12:
sum += 30;
case 11:
sum += 31;
case 10:
sum += 30;
case 9:
sum += 31;
case 8:
sum += 31;
case 7:
sum += 30;
case 6:
sum += 31;
case 5:
sum += 30;
case 4:
sum += 31;
case 3:
sum += 28;
case 2:
sum += 31;
case 1:
sum += 0;
break;
default:
printf("搞事情?");
break;
}
sum += day;
if(year%4 == 0)
{
sum += 1;
}
printf("%d年%d月%d日是该年的第%d天", year, month, day, sum);
return 0;
}
不知为啥结果算出来几百万,还是个变量,点一次一个不同的计算结果,本以为想到了一个不错的方法
sum没有赋初值,附了初值后就是对的了
我一开始也是这么写的,上网查了下好像不能这么写。看到有java的是这么写的。还有注意8月8日是算到7月底加8天
你的 case 后面都缺少break,应该是每一句 case 后面都加上 break
C语言入门
926028 学习 · 20793 问题
相似问题