はじめに
どうも! みなため(@MinatameT)です。
この記事では、サイコロを振った結果を表示するプログラムを紹介します。
サイコロを振る回数ですが、ユーザーが入力した任意の値とします。
つまり、「3」と入力すれば3回連続でサイコロを振りますし、「10」と入力すれば10回連続でサイコロを振ります。
それでは、ソースコードと実行結果の例を、さっそく見ていきましょう。
サイコロのプログラム
ソースコード
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main(void)
{
int s,n,i;
srand((unsigned)time(NULL)); //乱数の仕組みを初期化。
printf("サイコロを振る回数>");
scanf("%d",&n);
for(i=1; i<=n; i=i+1) //n回繰り返す。
{
s = (rand()%6) + 1; //乱数を6で割った余り+1(1から6のランダムの値が代入。)
printf("%d\n",s);
}
return(0);
}
time関数を使うために、#include<time.h>を記述してください。
また、rand関数やsrand関数を使うために、#include<stdlib.h>を記述してください。
「srand((unsigned)time(NULL));」は、乱数の偏りを発生しにくくするためのおまじないです。このおまじないには、現在の時刻を利用しています。
「s = (rand()%6) + 1;」は、1から6のうちのいずれかの値(ランダム)がsに代入されます。
それでは、実行結果を確認しましょう。
実行結果の例
サイコロを振る回数>3
2
5
2
私が「3」を入力したので、サイコロが3回連続で振られたことになりました。
サイコロを振る回数>10
1
3
6
4
5
1
6
2
2
5
今度は、私が「10」を入力したので、サイコロが10回連続で振られたことになりました。
rand関数をうまく使えるようになると、簡単なゲームも作れます! ぜひ、頑張って挑戦してみてください。