我写了一个简单的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等。提前感谢。
答案 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");
}
}
这应该可以解决问题。