黑马程序员技术交流社区
标题: 这个答案完全没看懂什么意思啊,有谁能解释解释么 [打印本页]
作者: Abuzzworld 时间: 2015-10-4 14:01
标题: 这个答案完全没看懂什么意思啊,有谁能解释解释么
13.
/*
有1000000个数,每个数取值范围是0-999999,找出其中重复的数。
*/
- #define COUNT 1000000
- int main(void)
- {
- int a[COUNT] = {0};
- for (int i = 0; i < COUNT; i++) {
- int number = arc4random_uniform(COUNT)%COUNT;
- //把随机数作为下标,值作为出现次数
- a[number - 1] ++;
- }
- //输出 重复的数字以及重复次数
- for(int i = 0 ;i < COUNT;i++){
- if (a[i] > 1) {
- printf("%d repeats %d times\n",i+1,a[i]);
- }
- }
- return 0;
- }
复制代码
作者: Abuzzworld 时间: 2015-10-4 14:16
int number = arc4random_uniform(COUNT)%COUNT;
用笔哗啦哗啦已经明白的差不多了,但还是不明白中产生随机数的时候为什么要%一下啊
作者: 超の 时间: 2015-10-4 18:32
那个随机数的函数我怎么用不了啊
作者: 洪吉童 时间: 2015-10-4 19:07
求不求与是不是都一样
作者: 杰杰 时间: 2015-10-4 19:30
随机数的函数需要导入stdlib.h头文件吧。
作者: 大宝820 时间: 2015-10-4 23:21
没看懂{:2_39:}
作者: 堕落天使 时间: 2015-10-5 09:42
随机数函数要导入头文件的
#include<stdlib.h>
作者: 浩润2015 时间: 2015-10-5 18:48
//有1000000个数,每个数取值范围是0-999999,找出其中重复的数
#include<stdio.h>
#include<stdlib.h>//使用随机函数需要导入本头文件
#define N 1000000
int main()
{
int arr[N]={0};
int num,i;//随机数变量
for(i=0;i<N;i++)
{
num=arc4random_uniform(N)%N;//生成0-999999范围间的随机数
arr[num]++;//计算某个随机数出现的次数
}
//遍历数组显示重复数出现的次数
for(i=0;i<N;i++)
{
if(arr[i]>1)
printf("%d出现%d次数",num,arr[i]);
}
return 0;
}
作者: ww1234 时间: 2015-10-6 21:55
OK,看明白了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |