乱数の場所

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
anko

乱数の場所

#1

投稿記事 by anko » 10年前

5つ分の配列を用意し、乱数を入力。
入力した結果と最小値を出力

乱数をどのように入れればいいですか?


[code c言語]
#include <stdio.h>
int main(void)
{
int i;
int min;
int a[5];

for (i = 0; i < 5; i++)
{
printf("%d個目の実数を入力せよ: ", i + 1);
scanf("%d", &a);
}
min = a[0];
for (i = 1; i < 5; i++)
{
if (a < min) min = a;
}

printf("\n\n入力されたのは %d,%d,%d,%d,%d\n", a[0],a[1],a[2],a[3],a[4]);
printf("\nこの中の最小値は %d です。\n", min);

return 0;
}
[/code]

box
記事: 2002
登録日時: 15年前

Re: 乱数の場所

#2

投稿記事 by box » 10年前

anko さんが書きました: 乱数をどのように入れればいいですか?

コード:

	for (i = 0; i < 5; i++)
このfor文の直前あたりで乱数のための初期化を1回だけ行ないます。
anko さんが書きました:

コード:

		scanf("%d", &a[i]);
このscanfのかわりに、乱数を発生させる関数を使って、aに値を入れます。
anko さんが書きました:

コード:

	printf("\n\n入力されたのは %d,%d,%d,%d,%d\n", a[0],a[1],a[2],a[3],a[4]);
仮に配列の要素が1000個の場合でも、このように書きますか?本題とはあまり関係ないですけど。
バグのないプログラムはない。
プログラムは思ったとおりには動かない。書いたとおりに動く。

アバター
みけCAT
記事: 6734
登録日時: 15年前
住所: 千葉県
連絡を取る:

Re: 乱数の場所

#3

投稿記事 by みけCAT » 10年前

オフトピック
anko さんが書きました: printf("%d個目の実数を入力せよ: ", i + 1);
scanf("%d", &a);

プログラム上は整合が取れているから問題は無いのだが、
どうして「実数を入力せよ」と出力しているのに実際に受け取る入力は整数に限定されているのだろうか…?
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

閉鎖

“C言語何でも質問掲示板” へ戻る