C语言输入年份月份,输出天数。
#include<stdio.h>voidmain(){intyear,month,leap;scanf("%d%d",year,month);if(year%400==...
#include<stdio.h>
void main()
{
int year,month,leap;
scanf("%d%d",year,month);
if(year%400==0)
leap=1;
else
{
if(year%4==0&&year%100!=0)
leap=1;
else leap=0;
}
switch(month)
{
case1:
case3:
case5:
case7:
case8:
case10:
case12:printf("%d年的d%月的天数为31",year,month);break;
case4:
case6:
case9:
case11:printf("%d年的d%月的天数为30",year,month);break;
case2:if(leap==1)
printf("%d年的d%月的天数为29",year,month);
else printf("%d年的d%月的天数为28",year,month);break;
default:printf("月份错误");
}
}麻烦帮我检查检查哪里错了 展开
void main()
{
int year,month,leap;
scanf("%d%d",year,month);
if(year%400==0)
leap=1;
else
{
if(year%4==0&&year%100!=0)
leap=1;
else leap=0;
}
switch(month)
{
case1:
case3:
case5:
case7:
case8:
case10:
case12:printf("%d年的d%月的天数为31",year,month);break;
case4:
case6:
case9:
case11:printf("%d年的d%月的天数为30",year,month);break;
case2:if(leap==1)
printf("%d年的d%月的天数为29",year,month);
else printf("%d年的d%月的天数为28",year,month);break;
default:printf("月份错误");
}
}麻烦帮我检查检查哪里错了 展开
3个回答
展开全部
scanf("%d%d",year,month);错了
应该是:
scanf("%d%d",&year,&month);
还有啊:case后面有空格的,是case 1,不是case1。
switch...case在执行时具有贯穿性,会从第一个匹配的项开始一路向下执行,知道遇见break或语句块结束符,如
case 1: //do A 执行完do A后继续执行下一条case(do B)
case 2: //do B 执行完do B后继续执行下一条case(do C)
case 3: //do C 执行完do C后遇到break;直接跳出switch...case语句块
break;
case 4: ...
应该是:
scanf("%d%d",&year,&month);
还有啊:case后面有空格的,是case 1,不是case1。
switch...case在执行时具有贯穿性,会从第一个匹配的项开始一路向下执行,知道遇见break或语句块结束符,如
case 1: //do A 执行完do A后继续执行下一条case(do B)
case 2: //do B 执行完do B后继续执行下一条case(do C)
case 3: //do C 执行完do C后遇到break;直接跳出switch...case语句块
break;
case 4: ...
展开全部
switch 不能这样用的
switch(month)
{
case1:printf("%d年的d%月的天数为31",year,month);break;
case3:printf("%d年的d%月的天数为31",year,month);break;
case5:printf("%d年的d%月的天数为31",year,month);break;
case7:printf("%d年的d%月的天数为31",year,month);break;
case8:printf("%d年的d%月的天数为31",year,month);break;
case10:printf("%d年的d%月的天数为31",year,month);break;
case12:printf("%d年的d%月的天数为31",year,month);break;
case4::printf("%d年的d%月的天数为30",year,month);break;
case6::printf("%d年的d%月的天数为30",year,month);break;
case9::printf("%d年的d%月的天数为30",year,month);break;
case11:printf("%d年的d%月的天数为30",year,month);break;
case2:if(leap==1)
printf("%d年的d%月的天数为29",year,month);
else printf("%d年的d%月的天数为28",year,month);break;
default:printf("月份错误");
}
只能这样了按你的想法
switch(month)
{
case1:printf("%d年的d%月的天数为31",year,month);break;
case3:printf("%d年的d%月的天数为31",year,month);break;
case5:printf("%d年的d%月的天数为31",year,month);break;
case7:printf("%d年的d%月的天数为31",year,month);break;
case8:printf("%d年的d%月的天数为31",year,month);break;
case10:printf("%d年的d%月的天数为31",year,month);break;
case12:printf("%d年的d%月的天数为31",year,month);break;
case4::printf("%d年的d%月的天数为30",year,month);break;
case6::printf("%d年的d%月的天数为30",year,month);break;
case9::printf("%d年的d%月的天数为30",year,month);break;
case11:printf("%d年的d%月的天数为30",year,month);break;
case2:if(leap==1)
printf("%d年的d%月的天数为29",year,month);
else printf("%d年的d%月的天数为28",year,month);break;
default:printf("月份错误");
}
只能这样了按你的想法
更多追问追答
追问
上次按老师讲的case后面输出的结果相同多个case就可以共用一个输出结果,愁死我了,这道题做了老长时间了
追答
看起来想法很不错,但是这样绝对不行的,走不到12怎么输出31天的结果呢?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
case 2 的 if 后面不要 break 吗?
追问
其实我不太明白break的含义啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询