算法思路
函数srand
用来初始化随机数发生器,然后使用rand()
函数来生成随机数
- 使用这两个函数,需要在源程序头部包含
"time.h"
头文件。
srnd(time(NULL));
i=rand()%100+1;
实例
- 猜数游戏
#include <bits/stdc++.h>
using namespace std;
int main(){
int n,m,i=0;
srand(time(NULL));
n=rand()%100+1;
do{
printf("请输入所猜数字:\n");
scanf("%d",&m);
i++;
if(m>n)
printf("错误!所猜数太大了!\n");
else if(m<n)
printf("错误!所猜数太小了!\n");
}while(m!=n);
printf("答对了!\n");
printf("共猜了%d次。\n",i);
if(i<=5)
printf("你太聪明了,这么快就猜出来了!\n");
else printf("还需要改进方法,以便更快猜出来!\n");
system("pause");
}
- 模拟掷骰子游戏
#include <bits/stdc++.h>
using namespace std;
void play(int n){
int i,m=0,t=0;
for(i=0;i<n;i++){
t=rand()%6+1;
m+=t;
printf("\t第%d粒:%d;\n",i+1,t);
}
printf("\t总点数为:%d\n",m);
}
int main(void){
int c;
int n;
int i,m;
do{
srand(time(NULL));
printf("设置骰子数量(输入0退出):\n");
scanf("%d",&n);
if(n==0) break;
printf("\n输入本轮参赛人数(输入0退出):\n");
cin>>c;
for(i=0;i<c;i++)
{
printf("\n第%d位选手掷出的骰子为:\n",i+1);
play(n);
}
cout<<endl;
} while(1);
return 0;
}