のprob5-6、
「整数型の配列変数dataを作成し、以下の条件のとおりの初期値を入れるものとする。
●大きさは、10
●値は、1から10の乱数
このとき、実行例のように、値をすべて表示し、その中の最大値と最小値を表示するようにしなさい。」
という問題を下記のように書きましたが、どうも最小値の表示が乱数の一番最後の数値を拾ってしまいます。
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
void main(){
int a, max=0, min=10;
int b[10];
srand((unsigned)time(NULL));
for(a=1; a<=10; a++){
b[a] = rand() % 10 + 1;
printf("%d ",b[a]);
if(b[a] >= max){
max = b[a];
}
if(b[a] <= min){
min = b[a];
}
}
printf("\n");
printf("最大値:%d\n", max);
printf("最小値:%d\n", min);
}
10 4 2 4 10 7 10 1 2 7
最大値:10
最小値:7
こちらのサイトから答えをそのままコピペして実行しても同じ様になってしまいます(https://github.com/shalad2/1-week-progr ... /prob5-6.c)
上記のコードは何か間違っていますでしょうか?
それとも環境側の問題でしょうか?
初歩的な質問で申し訳ございません。
宜しくお願いいたします。
[環境]
os:win11,
コンパイラ名:MinGW-gcc
コードエディタ:VSCode