//第一种方法 放入数组后, 使数组中的元素逐个与0-9比较,相同则计数+1,输出计数>1的数组元素即可
/*
int a[10] = {0}, count = 0;
printf("随机的10个数为:\n");
for (int i = 0; i < 10; i++) {
a[i] = arc4random() % 10;
printf("%d ", a[i]);
}
printf("\n");
for (int i = 0; i < 10; i++) {
for (int j = 0; j < 10; j++) {
if (i == a[j]) {
count++;
}
}
if (count > 1) {
printf("数字%d重复了%d次\n", i, count);
}
count = 0;
}
*/
//第二种方法 放入数组a后, 将数组a的元素作为b的下标存到b中计数
int a[10] = {0}, b[10] = {0};
printf("随机的10个数为:\n");
for (int i = 0; i < 10; i++) {
a[i] = arc4random() % 10;
printf("%d ", a[i]);
b[a[i]]++;
}
printf("\n");
for (int i = 0; i < 10; i++) {
if (b[i] > 1) {
printf("数字%d重复了%d次\n", i, b[i]);
}
}
本文介绍两种检测随机生成数组中重复数字的方法:一是通过双重循环对比每个数字出现的次数;二是利用数组作为计数器,直接统计各数字出现频率。
9294

被折叠的 条评论
为什么被折叠?



