C语言中请使用switch语句和if...else语句 求大神分析错在哪

请使用switch语句和if...else语句,计算2008年8月8日这一天,是该年中的第几天。求大神分析错在哪#include<stdio.h>intmain(){in... 请使用switch语句和if...else语句,计算2008年8月8日这一天,是该年中的第几天。 求大神分析错在哪
#include <stdio.h>
int main()
{
int year = 2008;
int month = 8;
int day = 8;
int out,flag;
switch(month)
{
case1:out=0;break;
case2:out=31;break;
case3:out=59;break;
case4:out=90;break;
case5:out=120;break;
case6:out=151;break;
case7:out=181;break;
case8:out=212;break;
case9:out=243;break;
case10:out=273;break;
case11:out=304;break;
case12:out=334;break;
default: printf("一年中只有12个月");break;
}
out=out+day;
if ((year%4==0 && year%100>0) || year%400==0)
flag=1;
else
flag=0;
if (flag==1&&month>2)
out++;
printf("%d年%d月%d日是该年的第%d天",year,month,day,out);
return 0;
}
展开
 我来答
wchyumo2011
2015-10-07 · TA获得超过2万个赞
知道大有可为答主
回答量:5810
采纳率:79%
帮助的人:2751万
展开全部

注意case和数字之间要有一个空格:

#include <stdio.h>
int main()
{
int year = 2008;
int month = 8;
int day = 8;
int out, flag;
switch (month)
{
case 1:out = 0; break;///////////
case 2:out = 31; break;//
case 3:out = 59; break;//
case 4:out = 90; break;//
case 5:out = 120; break;//
case 6:out = 151; break;//
case 7:out = 181; break;//
case 8:out = 212; break;//
case 9:out = 243; break;//
case 10:out = 273; break;//
case 11:out = 304; break;//
case 12:out = 334; break;//
default: printf("一年中只有12个月"); break;
}
out = out + day;
if ((year % 4 == 0 && year % 100>0) || year % 400 == 0)
flag = 1;
else
flag = 0;
if (flag == 1 && month>2)
out++;
printf("%d年%d月%d日是该年的第%d天", year, month, day, out);
return 0;
}
百度网友ee2f84f05a
2015-10-07 · TA获得超过118个赞
知道小有建树答主
回答量:209
采纳率:0%
帮助的人:88.5万
展开全部
08 年不是润年么 , 2月是29天吧9.>9
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友a39fb3e
2015-10-07 · TA获得超过4465个赞
知道小有建树答主
回答量:477
采纳率:100%
帮助的人:65.4万
展开全部
请问你的问题是过不了编译还是运行错误?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式