1989年開業 技術士 佐伯英子(情報工学部門) 文部科学省登録番号 第22082号 日本技術士会会員 東大阪商工会議所会員
≫サンプルプログラム一覧
≫
オープンソース/C言語サンプルプログラム コンピュータが選んだ数字を当てる
●コンピュータがランダムに選んだ数字を当てるゲームプログラムです。
●最初に乱数を1回発生させ、100で割った余りをコンピュータが選んだ 数字とします。
●コンピュータが選んだ数字と同じ数字を入力すると、結果を表示して終了 します。
≫ソースファイルのダウンロード: suujiate01.c
【問題】
●7回以内に必ず当たる方法を見つけなさい。
●「アウト!!」が表示されるのは、何回入力した後か。
●プログラム中の2つの文
n1=rand( ); // 乱数発生
n1%=100; // 100で割った余り
を1つの文にしなさい。
●コンピュータが選ぶ数字の範囲を、1 から 10 に変更してみよう。
●範囲外の数字を入力したら、「範囲外ですよ」と表示するよう変更して みよう。
|
|
/********************/
/* 数字当てゲーム */
/********************/
#include <stdio.h>
#include <time.h>
#include <windows.h>
void main( )
{
int n1; // コンピュータが選んだ数字
int n2; // 入力数字
int i;
char c[128];
system("cls"); // 画面消去
srand(time(NULL)); // 乱数の準備
n1=rand( ); // 乱数発生
n1%=100; // 100で割った余り
printf("****************************************\n");
printf("* 今コンピュータが数字を1つ選びました *\n");
printf("* 選んだ数字を当ててください *\n");
printf("* 数字の範囲は 0 から 99 までです *\n");
printf("****************************************\n");
for( i=1; i<=10; i++ )
{
printf("\n数字: "); // 数字表示
fflush(stdout);
gets(c); n2=atoi(c); // Aの値を入力
if ( n1==n2 ) break; // 同じ数字
if ( n1< n2 )
printf(" 大きすぎます");
else
printf(" 小さすぎます");
}
if ( i<=10 ) printf("\n\n%d回目で当たり\n",i);
else printf("\n\n\aアウト!! 正解は %d でした\n",n1);
}
|
※SSL暗号化通信対応
佐伯英子技術士事務所 〒542-0073 大阪市中央区日本橋 1-14-13 サンオフィス日本橋601 E-mail: info@saeki-pe.com
|