against齐
2016-10-19 21:36
#include <stdio.h>
int main()
{
/* 定义需要计算的日期 */
int year = 2008;
int month = 8;
int day = 8;
int sum=day;
int run=0;
if ((year%400==0)||((year%4==0)&&(year/100!=0))){
run=1;
}
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: if(run){
sum+=29;
}else{
sum+=28;
};
case 2: sum+=31;
case 1: sum+=0;break;
default: printf("wrong input");
}
printf("%d年%d月%d日是该年的第%d天",year,month,day,sum);
return 0;
}
我这个代码到底哪里错了呢?
include <stdio.h>
int main()
{
int year = 2008;
int month = 8;
int day = 8;
switch(day)
{
case 1 : day+=31; break;
case 2:
if(2008%400==0||2008%4==0&&2008%100!=0)
{
day+=29;
else
day+=28;
}
case 3 : day+=31; break;
case 4 : day+=30; break;
case 5 : day+=31; break;
case 6 : day+=30; break;
case 7 : day+=31; break;
case 8 : day+=31; break;
case 9 : day+=30; break;
case 10 :day+=31; break;
case 11: day+=30; break;
case 12: day+=31; break;}
printf("2008年8月8日是第%d天");
先12到1:计算的是8及其以下的(即87654321)
先1到12:计算的是8及其以上的(即89101112)
C语言入门
926210 学习 · 20797 问题
相似问题
回答 3