找到4个给定数字中最大的C程序有什么问题

时间:2014-03-06 21:32:10

标签: c

我写了一个简单的C程序,找到4个数字中最大的一个。我正在尝试所有可能的4位数组合,目前限制为1234。

由于在撰写此问题时出现了一些重复的格式错误,我已将我的代码发布到其他网站。

#include <stdio.h>

int main() {
    int a, b, c, d;
    printf("Input A, B, C and D: ");
    scanf("%d%d%d%d", &a, &b, &c, &d);

    if(a > b) {
        if(a > c) {
            if(a > d) {
                printf("A is greater.");
            } else {
                printf("D is greater.");
            }
        }
    } else if(b > c) {
        if(b > d) {
            printf("B is greater.");
        } else {
            printf("D is greater.");
        }
    } else if(c > d) {
        printf("C is greater.");
    } else printf("D is greater");
    return 0;
}

问题是它无法与

一起使用
a = 2

b = 1

c = 3

d = 4

a = 2

b = 1

c = 4

d = 3

我的实施有什么问题吗?我正在尝试使用尽可能最小的比较(ABCD的6个最小可能比较),如&gt; b,b&gt; c,c&gt; d等。提前感谢。

1 个答案:

答案 0 :(得分:2)

问题是如果A大于B但小于C。

if(a > b) {
    if(a > c) {
        if(a > d) {
            printf("A is greater.");
        } else {
            printf("D is greater.");
        }
    } else if(c > d) {
        printf("C is greater.");
    } else {
        printf("D is greater");
    }
}

这应该可以解决问题。