鱼C论坛

 找回密码
 立即注册
查看: 2457|回复: 5

[已解决]大佬哪出问题了?

[复制链接]
发表于 2020-9-15 20:25:18 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
/*这是一个判断闰年的程序*/
/*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;
       
       
}
最佳答案
2020-9-15 20:45:03
本帖最后由 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;}
        
        
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-9-15 20:45:03 | 显示全部楼层    本楼为最佳答案   
本帖最后由 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;}
        
        
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-9-15 21:31:36 | 显示全部楼层
sunrise085 发表于 2020-9-15 20:45
你对赋值运算符“=”和相等运算符“==”有误解吧?
switch后面的语句,为什么没有括起来

看不出来他程序的逻辑,闰年的条件是:year % 4 == 0 && year % 100 != 0) || year % 400 == 0,你帮他改改
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-9-15 21:40:42 | 显示全部楼层
风过无痕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;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-9-15 22:39:55 | 显示全部楼层
sunrise085 发表于 2020-9-15 21:40
逻辑没问题,就是乱了点。
十几行的代码,他写了三十多行

这个题几天前我在其他论坛回复过,看到你在回复中说“这几个赋值是什么鬼?”,所以,就将闰年的条件这个非编程范畴的东东发了出来,想帮你节省一点点时间,希望你不要介意才好
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-9-15 23:38:29 | 显示全部楼层
#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")                                           ;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-11 03:58

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表