erhalten Dieses Programm wurde entwickelt, um 3 ganze Zahlen und ordnen sie in aufsteigender Reihenfolge. Wenn ich eine Kombination wie "12 8 2" eingabe, bekomme ich eine Ausgabe von "1995099040 8 12". Irgendwelche Hilfe mit, warum ich diese Antwort bekomme?Ich frage mich, warum ich eine zufällige Ganzzahl als meine Ausgabe in diesem Programm
#include <stdio.h>
#include <stdlib.h>
int findBig(int d, int e, int f) {
if ((d >= e) && (d >= f)) {
return d;
} else
if ((e >= d) && (e >= f)) {
return e;
} else
if ((f >= e) && (f >= d)) {
return f;
}
}
int main(void) {
const int MAX_NUM = 3;
int userArray[MAX_NUM];
int bigNum;
int midNum;
int smallNum;
int j = 0;
int a;
int b;
int c;
printf("Please enter three integers separated by spaces:\n");
for (j = 0; j < MAX_NUM; ++j) {
scanf("%d", &userArray[j]);
}
a = userArray[0];
b = userArray[1];
c = userArray[2];
bigNum = findBig(a, b, c);
if (bigNum == a) {
midNum = findBig(0, b, c);
} else
if (bigNum == b) {
midNum = findBig(a, 0, c);
} else
if (bigNum == c) {
midNum = findBig(a, b, 0);
}
if ((midNum == a) && (bigNum == b)) {
smallNum = c;
} else
if ((midNum == b) && (bigNum == c)) {
smallNum = a;
} else
if ((midNum == c) && (bigNum == a)) {
smallNum = b;
}
printf("%d %d %d\n", smallNum, midNum, bigNum);
return 0;
}
Die Strategie der Lese Zahlen in ein Array ist gut, aber alles, was danach ist keine gute Art zu arbeiten. Sie sollten das Array wahrscheinlich nur sortieren, damit Sie die Werte in der erforderlichen Reihenfolge trivial auswählen können.Was Sie haben, ist mehr oder weniger in Ordnung als eine Übung beim Schreiben von "Wenn" -Aussagen, aber ansonsten lässt viel zu wünschen übrig. –