/*
编写一个程序,生成1000个1~10范围内的随机数。不用保存或打印这些数字,仅打印每个数出现的次数。
用10个不同的种子值运行,生成的数字出现的次数是否相同?可以使用本章自定义的函数或ANSIC的rand()和srand()函数,
它们的格式相同。这是一个测试特定随机数生成器随机性的方法。
*/
#include<stdio.h>
#include<stdlib.h>
int rand_10(int n);
int main(void)
{
int i;
int seed;
for (seed = 0; seed < 10; seed++)
{
int arr[10] = { 0 };
srand(seed);
for (i = 0; i < 1000; i++)
{
int num;
num = rand_10(10);
switch (num)
{
case 1:
arr[0]++;
break;
case 2:
arr[1]++;
break;
case 3:
arr[2]++;
break;
case 4:
arr[3]++;
break;
case 5:
arr[4]++;
break;
case 6:
arr[5]++;
break;
case 7:
arr[6]++;
break;
case 8:
arr[7]++;
break;
case 9:
arr[8]++;
break;
case 10:
arr[9]++;
break;
default:
break;
}
}
printf("1出现的次数为:%d\n", arr[0]);
printf("2出现的次数为:%d\n", arr[1]);
printf("3出现的次数为:%d\n", arr[2]);
printf("4出现的次数为:%d\n", arr[3]);
printf("5出现的次数为:%d\n", arr[4]);
printf("6出现的次数为:%d\n", arr[5]);
printf("7出现的次数为:%d\n", arr[6]);
printf("8出现的次数为:%d\n", arr[7]);
printf("9出现的次数为:%d\n", arr[8]);
printf("10出现的次数为:%d\n", arr[9]);
}
}
int rand_10(int n)
{
int num;
num = rand() % n + 1;
return num;
}
C PRIMER PLUS(第六版编程练习)12.9编程练习_6题
最新推荐文章于 2022-04-23 23:07:50 发布