|
(m1, m2) と (m3, m4) は独立だから、全部を else if でつなぐのは
おかしいと思います。
#include <stdio.h>
int main(void)
{
int s, d, m1, m2, m3, m4;
for (s = 0; printf("New Datum ? "), scanf("%d", &d) == 1;) {
if (s == 0) { m1 = d; m2 = d; m3 = d; m4 = d; s = 1; }
else {
if (m1 == m2)
if (m1 > d) m2 = d;
else m1 = d;
if (m3 == m4)
if (m3 > d) m4 = d;
else m3 = d;
if (d > m1) { m2 = m1; m1 = d; }
else if ((m1 > d) && (d > m2)) m2 = d;
if ((m3 > d) && (d > m4)) m4 = d;
else if (m4 > d) { m3 = m4; m4 = d; }
}
}
printf("\n" "m1 > %d\n" "m2 > %d\n" "m3 > %d\n" "m4 > %d\n",
m1, m2, m3, m4);
return 0;
}
|