慕运维3143252
2017-08-07 20:23
谢谢谢谢,,哪里出错了
代码有点小问题首先你的printf哪一行可以看出来你的表点错了 是中文的
其次是判断应该是被400整除||被4整除被400不整除
之后是sum可能刚开始要初始化为0
代码如下
#include <stdio.h>
int main()
{
/* 定义需要计算的日期 */
int year = 2008;
int month = 8;
int day = 8;
int sum=0;
switch(month)
{
case 1:
sum+=0;
break;
case 2:
sum+=31;
break;
case 3:
sum+=28+31;
break;
case 4:
sum+=31+28+31;
break;
case 5:
sum+=30+31+28+31;
break;
case 6:
sum+=31+30+31+28+31;
break;
case 7:
sum+=30+31+30+31+28+31;
break;
case 8:
sum+=31+30+31+30+31+28+31;
break;
case 9:
sum+=31+31+30+31+30+31+28+31;
break;
case 10:
sum+=30+31+31+30+31+30+31+28+31;
break;
case 11:
sum+=31+30+31+31+30+31+30+31+28+31;
break;
case 12:
sum+=30+31+30+31+31+30+31+30+31+28+31;
break;
}
sum+=day;
if(year%400==0||(year%4==0&&year%100!=0))
{
sum++;
}
else
{
sum+=0;
}
printf("%d年%d月%d日是该年的第%d天",year,month,day,sum);
return 0;
}
最后也谢谢你,我那个懒得写了直接用的你的 哈哈
将判断是否为润年的if语句放在switch语句的前面。给sum赋0,在case中 sum = day +.............
C语言入门
926209 学习 · 20797 问题
相似问题