发布网友
共3个回答
热心网友
这样写,count[10] = {0};
int n ;
while(1)
{
n = random();
if(n%10 == 0 )
count[9]++;
else
count[n%10-1]++;//注意count的下标是n%10-1不是n%10+1
}
追问用if条件把原本产生的随机数0~9中的0归类为count[9]++;
剩下的1~9都减一,下标汇总为:0~8,那么最后还是0~9的下标统计啊。
除非把随机数产生的下标count[0]~count[9]一一对应为 针对 1-10中的每个数的出现此处的统计。
不知道我这样说的对不对
追答你看if中的是n对10取余为0,那么n肯定是10的倍数,但是你要知道数组的下标是从0开始的,也就是说用count[0]统计1出现的次数,count[1]统计2出现的次数,....以此类推就好,用count[9]统计10出现的次数。使用的时候你注意点就行了。
热心网友
count[rand()%10]++ 就行
count[0]中为1出现的次数
count[1]中为2出现的次数
...
热心网友
设有整数M和N,0 < M < N,欲生成 M <= n <= N,则有
n = rand()%(N - M + 1) + M;
/*
2:1
4:4
5:1
7:3
8:1
Press any key to continue
*/
#include <stdio.h>