c语言判断一年是不是闰年,编程错在哪呢?
关注:193答案:6信息版本:手机版
解决时间 -01-11 18:50
箛茗
-01-10 20:46
#include void main(){int n,a;scanf("%d",&n);if(n%400==0)a=1;else if(n%4!=0)a=0; else if(n%100==0)a=0; else a=1;if(a=1)printf("闰年");else printf("非闰年");}
最佳答案
柔情似水似花更似你
-01-12 13:25
if(a=1)printf("闰年");
else printf("非闰年");
判断的表达式错。。。a=1永远为真
应该是a==1 等于关系要用两个等号(在写逻辑等时可以把常量放在前面 ,这样一不小心把逻辑等写成赋值也会发现)
全部回答
1楼凶巴巴翘扁扁怪兽
-01-12 17:44
if(a==1)printf("闰年");
你再仔细看看,是不是把==写成=了?
2楼专业三秒男
-01-12 16:21
#include"stdio.h"
void main()
{
int y;
printf("请输入一个年份");
scanf("%d",&y);
if(y%400==0||y%4==0&&y%100!=0)
{
printf("闰年");}
else
{
printf("平年");
}
}
3楼坟场蹦迪
-01-12 14:50
if(a=1)printf("闰年");
else printf("非闰年");
最后一句应该是if(a==1);
还有用if..else..的时候最好加上大括号,层次清楚一些
4楼我们是斗逼
-01-12 14:23
#include //经测试已经可行
void main()
{
int n,a;
scanf("%d",&n);
if(n%400==0)
a=1;
else
if(n%4!=0)
a=0;
else
{
if(n%100==0)
{
a=0;
}
else
{
a=1;
}
}
if(a==1)//等值符号是两个等号
{
printf("是闰年");
}
else
{
printf("不是闰年");
}
}
//个人建议:写程序时尽量有层次。这样可增加可读性,方便自己跟他人
5楼带你装逼丶带你飞
-01-12 14:07
你的判断条件错误了。你看一下这个函数
bool isRuiYear(int year)//判断是否闰年
{
if((year % 400 == 0)|(year % 4 == 0)&(year % 100 != 0))
return true;
else
return false;
}
我想你应该改成这样
void main()
{
int n,a;
scanf("%d",&n);
if(n%400==0)a=1;
//else//这里的else去掉
if(n%4!=0)a=0;
else
if(n%100==0)a=0;
else a=1;
if(a=1)printf("闰年");
else printf("非闰年");
}
我要举报
如以上问答内容为色情/暴力/低俗/不良/侵权等信息,可以点下面链接进行举报,我们会做出相应处理,感谢你的支持!
大家都在看
推荐资讯
如果觉得《C语言闰年还是平年问题程序 c语言判断一年是不是闰年 编程错在哪呢?》对你有帮助,请点赞、收藏,并留下你的观点哦!