C言語で1から100までの乱数を生成するにはどうすればいいですか?
C言語では、rand() 関数を使って乱数を生成することができます。この関数は、0 から RAND_MAX(通常は 32767)の整数を返します。生成された乱数は、剰余演算子を使用して 1 から 100 の範囲に縮小することができます。
以下にその実装のサンプルコードを示します:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
int randomNum;
// 使用当前时间作为种子
srand(time(0));
// 生成1到100之间的随机数
randomNum = (rand() % 100) + 1;
printf("随机数:%d\n", randomNum);
return 0;
}
上の例では,まずtime(0)関数を用いて現在時刻をシードとして取得し,srand()関数で乱数生成器のシードを設定しています.次に,rand()関数で0から99までの乱数を生成し,剰余演算子を用いて1から100の範囲に収まるようにしています.最後に,printf()関数で乱数の値を出力しています.
ランダムな数の生成を毎回異なったものにするには、その前にsrand()関数を呼び出して異なるシードを与えることに注意してください。上の例では、時間の経過とともに変化するものなので、現在時間をシードとして使用しています。