这是前段时间自己为了掌握随机函数写的两个小的程序,仅供大家参考.
/*把一个6面骰子投掷6000次,测试随机函数rand()产生相同数字的几率*/
/*包含头文件*/
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#define SIZE 7
void printHeader(void);
/*主函数开始*/
int main(void)
{
int face,roll,frequency[SIZE]={0};
printHeader();
srand(time(NULL));
for(roll=1;roll<=6000;roll++)
{
face=rand()%6+1;
++frequency[face];
}
printf("%s%17s\n","Face","frequency");
for(face=1;face<=SIZE-1;face++)
printf("%4d%17d\n",face,frequency[face]);
getch();
return 0;
}
void printHeader(void)
{
printf("----------------------------\n");
printf(" 测试随机数出现的几率,Face\n 代表骰子面,Frequency代表\n 出现次数.\n");
printf("----------------------------\n");
}
/*对随机函数rand(),srand()的联系及一些相关实例*/
/*头文件开始*/
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
/*函数原型*/
void Inheader(void);
void InputNum(void);
void Boolguess(void);
int guess;
/*主函数开始*/
int main(void)
{
Inheader();
Boolguess();
getch();
return 0;
}
void Inheader(void)
{
printf(" ------------\n");
printf("︱制作: 寒子︱\n");
printf("︱2005-10-31︱n");
printf("---------------------------------------\n");
printf(" 计算机随机取(1-100)之间的数,您输入自\n
己要猜的数字,并计算猜测次数.\n");
printf("---------------------------------------\n");
}
void InputNum(void)
{
printf("请输入您要猜的数:");
scanf("%d",&guess);
}
void Boolguess(void)
{
int comNum,count=0;
srand(time(NULL));
comNum=rand()%100+1;
InputNum();
while(count<=10)
{
++count;
if(guess>comNum)
{
printf("输入太大.\n");
InputNum();
}
else if(guess<comNum)
{
printf("输入太小.\n");
InputNum();
}
else
{
printf("OK,你猜对了.\n");
break;
}
}
printf("您猜的次数为: %d\n",count);
}