鱼C论坛

 找回密码
 立即注册
查看: 2613|回复: 2

[已解决]大佬好!我输入三个数打出的最大值和最小值都是一样的!!!我觉得我没有错啊》

[复制链接]
发表于 2019-8-21 23:41:43 | 显示全部楼层 |阅读模式

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

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

x
#include <stdio.h>
void main()
{
        int a,b,c,max,min;
        printf("please input three numbers:\n");
        scanf("%d%d%d",&a,&b,&c);
        if (a>b)
        {
                max=a,min=b;
        }
        else
        {
                max=b,min=a;
        }
        if (max<c)
        {
                max=c;
        }
        else if(min>c);
        {
                min=c;
        }
        printf("max=%d\nmin=%d",max,min);
}
最佳答案
2019-8-22 00:11:36
本帖最后由 jackz007 于 2019-8-22 00:13 编辑

      这一句有问题:
        else if(min>c);  /* 这句末尾的分号必须去掉 */

        {
                min=c;
        }

        由于这个分号的存在,将导致 min 的值注定等于 c。
#include <stdio.h>

main(void)
{
        int a , b , c , max , min                ;
        printf("please input three numbers:\n")  ;
        scanf("%d%d%d" , & a , & b , & c )       ;
        if (a > b) max = a , min = b             ;
        else max = b , min = a                   ;
        if(max < c) max = c                      ;
        if(min > c) min = c                      ;
        printf("max = %d\nmin = %d" , max , min) ;
}

    也可以考虑采用三目运算符:
#include <stdio.h>
main(void)
{
        int a , b , c , max , min                  ;
        printf("please input three numbers:\n")    ;
        scanf("%d%d%d", & a , & b , & c)           ;
        max = a > b ? a : b                        ;
        max = c > max ? c : max                    ;
        min = a < b ? a : b                        ;
        min = c < min ? c : min                    ;
        printf("max = %d\nmin = %d\n" , max , min) ;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-8-22 00:09:13 | 显示全部楼层
else if(min>c);最后这个分号去掉
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-8-22 00:11:36 | 显示全部楼层    本楼为最佳答案   
本帖最后由 jackz007 于 2019-8-22 00:13 编辑

      这一句有问题:
        else if(min>c);  /* 这句末尾的分号必须去掉 */

        {
                min=c;
        }

        由于这个分号的存在,将导致 min 的值注定等于 c。
#include <stdio.h>

main(void)
{
        int a , b , c , max , min                ;
        printf("please input three numbers:\n")  ;
        scanf("%d%d%d" , & a , & b , & c )       ;
        if (a > b) max = a , min = b             ;
        else max = b , min = a                   ;
        if(max < c) max = c                      ;
        if(min > c) min = c                      ;
        printf("max = %d\nmin = %d" , max , min) ;
}

    也可以考虑采用三目运算符:
#include <stdio.h>
main(void)
{
        int a , b , c , max , min                  ;
        printf("please input three numbers:\n")    ;
        scanf("%d%d%d", & a , & b , & c)           ;
        max = a > b ? a : b                        ;
        max = c > max ? c : max                    ;
        min = a < b ? a : b                        ;
        min = c < min ? c : min                    ;
        printf("max = %d\nmin = %d\n" , max , min) ;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-13 02:58

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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