1、要考虑闰年,月份输入错误则输出“error!”
2、还有一个问题就是我在if和else那里都加了一组“{}”,如果不加这个,编译的时候else那里的代码就会显示错误,两处都加上才没有,但看别人写的程序就没有加,这又是怎么回事呢?
有没有c语言ds详细讲一下,蟹蟹了!
if -else那里的问题是,不加括号if和else就不能配对了,语法错误,可以把break放到if-else语句后即可;
你在屏幕输出的那些信息后面输入年和月就可以了,如 : 2022 5;
修改如下:
#include <stdio.h>
int main(void){
int year,month;
printf("请输入年份和月份:");
scanf("%d%d",&year,&month);
switch(month){
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
printf("31天\n");
break;
case 4:
case 6:
case 9:
case 11:
printf("30天\n");
break;
case 2:
if(year%4==0&&year%100==0||year%400==0) //此处修改了下,当年份除以4余数为0,但除以100余数不为0位闰年。
printf("29天\n");
else
printf("28天\n");
break;
default:
printf("error!");
}
return 0;
}
你要输入值呀,接收到你输入的值才会去运行,if后边如果只有一条语句就可以省略大括号,超过一条就得加上大括号
把输入换成
printf("year = ");
scanf("%d", &year);
printf("month = ");
scanf("%d", &month);
下面判断闰年的时候是 year % 100 != 0,你的写错了,可以参考改一下