读入一个年份和月份,输出该月有多少天(考虑闰年),用switch语句编程哪里有错?
题目内容:读入一个年份和月份,输出该月有多少天(考虑闰年),用switch语句编程哪里有错?#includevoidmain(){intyear=1995,mouth=10,days;printf("输入年份和月份的值: ");switch(mouth){case1:days=31;break;case2:if(year0!=0&&year%4==0||year@0==0)days=29;elsedays=28;break;case4:days=30;break;case5:days=31;break;case6:days=30;break;case7:days=31;break;case8:days=31;break;case9:days=30;break;case10:days=31;break;case11:days=30;break;case12:days=31;break;}printf("days=%d ",days);}
你错误的地方有好几处,首先是你的英语单词就弄错了,月份month不是嘴mouth
而且你的是输入年份(year)和月份(month)之后进行判断,但是你scanf();函数哪里?
最后就是你的case书写方式不太好看。
我给你一个给你借鉴一下。希望有错误就积极指出,谢谢。
#include
int main()
{//2014年12月26日 23:51:53 DUST
int year=1995,month,days;
char ch;
do
{
printf("输入年份和月份的值: ");
printf("请输入年份:");
scanf("%d",&year);
printf("请输入月份:");
scanf("%d",&month);
switch (month)
{
case 1:case 3:case 5:case 7:case 8:case 10:case 12://这几个月份的天数是一样的
days=31;break;
case 4:case 6:case 9:case 11://同上
days=30;break;
case 2:if( year0!=0 && year%4 == 0 || year@0 ==0 ) days = 29;else days=28;break;
/*case1:days=31;break;
case2:if( year0!=0 && year%4 == 0 || year@0 ==0 ) days = 29;else days=28;break;
case4:days=30;break;
case5:days=31;break;
case6:days=30;break;
case7:days=31;break;
case8:days=31;break;
case9:days=30;break;
case10:days=31;break;
case11:days=30;break;
case12:days=31;break;
*/
}
printf("days=%d ",days);
printf("是否还想继续?继续输入'Y'或者'是':");//和下面的scanf 函数连用进行交互行为。
scanf(" %c",&ch);
}while (ch=='Y'||ch=='y'||ch=='是');
return 0;
}。
答:五行(金木水火土)和出生的年、月、日及时间都有关系!详情>>
答:详情>>
答:重新驱动一下网卡详情>>