使用模拟法编写一个猜数游戏,由计算机随机生成一个1~100的整数,然后由用户来猜这个数,根据用户猜测的次数分别给出不同的提示文字。
具体的代码如下:
#include<stdio.h>
#include<time.h>
#include<stdlib.h>
void play(int n)
{
int i,m=0,t=0;//m记录总点数
for(i=0;i<n;i++)
{
t=rand()%6+1;
m+=t;
printf("\t第%d粒:%d\n",i++,t);//此处的i++不能省
}
printf("\t总点数为:%d\n",m);
}
int main(void)
{
int c;//参数人数
int n;//骰子数量
int i,m;
do{
srand(time(NULL));//初始化随机数发生器
printf("设置骰子数量(输入0退出):");
scanf("%d",&n);
if(n==0) break;//至少一个骰子
printf("\n输入本轮参赛人数(输入0退出)");
scanf("%d",&c);
if(c==0) break;
for(i=0;i<c;i++)
{
printf("\n第%d位选手投掷出的骰子为:\n",i+1);
play(n);//递归调用play
}
printf("\n");
} while(1);
return 0;
}
一般可使用随机函数来模拟自然界中发生的不可预测的情况。C语言中使用srand()和rand()函数可生成随机数。 函数srand用来初始化随机数发生器,然后使用rand()函数来生成随机数。
要使用这两个函数,需在源程序头部包含“time.h”头文件。
一般的使用过程如下:
srand(time(NULL));//初始化随机数发生器
i=rand()%100+1;
使用上面的语句,变量i的值将为1~100的一个整数。