紧急:关于c语言的if else 判断年月份的天数
本帖最后由 Cathy-Chen258 于 2020-11-24 23:55 编辑#include <stdio.h>
int main()
{
int a,b,c;
printf("请输入年份和月份");
scanf("%d.%d",&a,&b);
//思路
if(b==2)
if(a%4==0&&a!=0||a%400==0)c=29;
else c=28;
else
if(b==1||3||5||7||8||10||12)c=31;
else c=30;
printf("%d年%d月是%d天",a,b,c);
return 0;
}各位论坛网友帮我看看else中判断哪里错了,我输入小月的月份都显示为31天,其他都没错
感谢各位热心答复与帮助{:5_110:} 本帖最后由 昨非 于 2020-11-25 00:07 编辑
你再试试
#include <stdio.h>
int main()
{
int a, b, c;
printf("请输入年份和月份");
scanf("%d.%d", &a, &b);
//思路
if (b == 2)
{
if (a % 4 == 0 && a != 0 || a % 400 == 0)c = 29;
else c = 28;
}
else
{
if (b == 1 || b == 3 || b == 5 || b == 7 || b == 8 || b == 10 || b == 12)c = 31; //这儿改了
else c = 30;
}
printf("%d年%d月是%d天", a, b, c);
return 0;
}
解决了记得设置最佳哈 昨非 发表于 2020-11-25 00:01
你再试试
对我忘了或比赋值优先级大
再问最后一个问题:a%2==!0定义为奇数对吗
最后谢谢你那么晚还能回复我,早点休息{:5_110:} 单等号是赋值,双等号是判断等于
一般奇数为a%2! =0
页:
[1]