ページ 1 / 1
複数の入力した整数値から最大・最小値の求め方
Posted: 2020年10月26日(月) 02:10
by TAMO
複数の入力した整数値から最大・最小値の求め方を教えていただけますか?
こちらを書いたのですが、うまく動きません。
コード:
#include <stdio.h>
int main(void) {
int data, max, min;
scanf("%d", &max);
scanf("%d", &min);
for(; scanf("%d", &data)==1;) {
if (data > max) max = data;
if (data < min) min = data;
}
printf("%d\n", max);
printf("%d\n", min);
return 0;
}
Re: 複数の入力した整数値から最大・最小値の求め方
Posted: 2020年10月26日(月) 22:03
by みけCAT
maxとminは個別の入力値ではなく、最初に入力した値に初期化するといいでしょう。
コード:
#include <stdio.h>
int main(void) {
int data, max = 0, min = 0, is_first = 1;
for(; scanf("%d", &data)==1;) {
if (is_first || data > max) max = data;
if (is_first || data < min) min = data;
is_first = 0;
}
if (is_first) {
puts("no input");
} else {
printf("%d\n", max);
printf("%d\n", min);
}
return 0;
}
こうしてもいいです。
コード:
#include <stdio.h>
int main(void) {
int data, max, min;
if (scanf("%d", &max) != 1) {
puts("no input");
return 0;
}
min = max;
for(; scanf("%d", &data)==1;) {
if (data > max) max = data;
if (data < min) min = data;
}
printf("%d\n", max);
printf("%d\n", min);
return 0;
}