大佬哪出问题了?
/*这是一个判断闰年的程序*//*leap 用来判断*/
#include<stdio.h>
int main()
{
int year,leap;
scanf("%d",&year);
if(year%4==0)
{
if(year%100==0)
{
if(year%400==0)
{
1==leap;
}
else
{
0==leap;
}
}
else
{
1==leap;
}
}
else
{
0==leap;
}
switch(leap)
case 1:printf("is year\n");break;
case 0:printf("is not year\n");break;
} 本帖最后由 sunrise085 于 2020-9-15 20:46 编辑
你对赋值运算符“=”和相等运算符“==”有误解吧?
switch后面的语句,为什么没有括起来
/*这是一个判断闰年的程序*/
/*leap 用来判断*/
#include<stdio.h>
int main()
{
int year,leap;
scanf("%d",&year);
if(year%4==0)
{
if(year%100==0)
{
if(year%400==0)
{
leap=1;//这几个赋值是什么鬼?你写的是相等比较运算符
}
else
{
leap=0;
}
}
else
{
leap=1;
}
}
else
{
leap=0;
}
switch(leap){//这个switch为什么不用大括号括起来?
case 1:printf("is year\n");break;
case 0:printf("is not year\n");break;}
} sunrise085 发表于 2020-9-15 20:45
你对赋值运算符“=”和相等运算符“==”有误解吧?
switch后面的语句,为什么没有括起来
看不出来他程序的逻辑,闰年的条件是:year % 4 == 0 && year % 100 != 0) || year % 400 == 0,你帮他改改 风过无痕1989 发表于 2020-9-15 21:31
看不出来他程序的逻辑,闰年的条件是:year % 4 == 0 && year % 100 != 0) || year % 400 == 0,你帮他改 ...
逻辑没问题,就是乱了点。
十几行的代码,他写了三十多行
#include<stdio.h>
int main()
{
int year,leap;
scanf("%d",&year);
if((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)
leap=1;
else
leap=0;
switch(leap){
case 1:printf("is year\n");break;
case 0:printf("is not year\n");break;
}
return 0;
} sunrise085 发表于 2020-9-15 21:40
逻辑没问题,就是乱了点。
十几行的代码,他写了三十多行
这个题几天前我在其他论坛回复过,看到你在回复中说“这几个赋值是什么鬼?”,所以,就将闰年的条件这个非编程范畴的东东发了出来,想帮你节省一点点时间,希望你不要介意才好 #include <stdio.h>
int main(void)
{
int year ;
printf("Enter a year :") ;
scanf("%d" , & year) ;
if(! (year % 4) && (year % 100) || ! (year % 400)) printf("it's a leap year !\n") ;
else printf("it isn't a leap year !\n") ;
}
页:
[1]