c
Posted: 2016年2月14日(日) 20:59
入力された数字の最小値、最大値、合計を求めるプログラミングですが、このコードでいくつか意味がわからないところがあるので教えてください。
min,max,xの関係です。 if (max < x) max = x;、 if (min > x) min = x; このmax,min,xはどのようになっているのかがわかりません。例えばn = 3
x = 1 ,2 ,3と入力した場合当然最小値は1,最大値は3と表示されますがその時に上のコードはどのように働いているのかを知りたいです。
説明不足かもしれませんがよろしくお願いします。
[code=C]#include <stdio.h>
int main(void){
int n, x, min, max;
long sum;
int i;
scanf("%d", &n);
scanf("%d",&x);
min = max = sum = x;
for (i = 1; i < n; i++) {
scanf("%d", &x);
sum += x;
if (max < x) max = x;
if (min > x) min = x;
}
printf("%d %d %ld\n", min, max, sum);
return 0;
}
[/code]
min,max,xの関係です。 if (max < x) max = x;、 if (min > x) min = x; このmax,min,xはどのようになっているのかがわかりません。例えばn = 3
x = 1 ,2 ,3と入力した場合当然最小値は1,最大値は3と表示されますがその時に上のコードはどのように働いているのかを知りたいです。
説明不足かもしれませんがよろしくお願いします。
[code=C]#include <stdio.h>
int main(void){
int n, x, min, max;
long sum;
int i;
scanf("%d", &n);
scanf("%d",&x);
min = max = sum = x;
for (i = 1; i < n; i++) {
scanf("%d", &x);
sum += x;
if (max < x) max = x;
if (min > x) min = x;
}
printf("%d %d %ld\n", min, max, sum);
return 0;
}
[/code]