回 帖 发 新 帖 刷新版面

主题:新人求解答.

#include<stdio.h>
int main()
{int a,b,c,x;
        scanf("%d%d%d",&a,&b,&c);
        if(a>b&&a>c)x=a;
        else if(b>a&&b>c)x=b;
        else if(c>a&&c>b)x=c;
        printf("%d\n",x);
        return 0;
}

学校acm网站里的2407题,他要求求3个数里面的最大的数.我这个提交可以被accept,但是有个疑问,这个东西,如果我输入1 2 2出现的就是不对的.谁能教教我该怎么改下呢?谢谢

回复列表 (共2个回复)

沙发

如果有两个数相等的话,所有的条件都不成立,
x就没赋值,打印出来的x是随机值.

x = a;
if(x < b) {
    x = b;
}
if(x < c) {
    x = c;
}

板凳

谢谢呢,看来我要改改自己的思维方式了

我来回复

您尚未登录,请登录后再回复。点此登录或注册