C语言生成给定任意简单数据类型的一维数组(长度自定义),查找数组中相异的数组元素,统计其出现的次数及数组下标值,并标准输出统计结果
时间: 2024-05-03 14:22:52 浏览: 68
以下是一个示例代码,生成一个随机的整数数组,然后找出其中不同的元素并统计它们出现的次数和下标值:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
int n, i, j, count;
srand(time(NULL)); // 初始化随机数生成器
printf("请输入数组长度:");
scanf("%d", &n);
int a[n];
// 生成随机数组
printf("生成的数组为:\n");
for (i = 0; i < n; i++) {
a[i] = rand() % 10; // 生成 0~9 的随机整数
printf("%d ", a[i]);
}
printf("\n");
// 查找不同元素并统计
printf("不同元素出现的次数和下标分别为:\n");
for (i = 0; i < n; i++) {
count = 0;
for (j = 0; j < n; j++) {
if (a[i] == a[j]) {
count++;
}
}
if (count == 1) {
printf("%d: %d\n", a[i], i);
} else {
printf("%d: %d (%d times)\n", a[i], i, count);
}
}
return 0;
}
```
示例输出:
```
请输入数组长度:10
生成的数组为:
0 7 1 9 1 7 8 8 5 7
不同元素出现的次数和下标分别为:
0: 0 (1 times)
7: 1 (3 times)
1: 2 (2 times)
9: 3 (1 times)
1: 4 (2 times)
7: 5 (3 times)
8: 6 (2 times)
8: 7 (2 times)
5: 8 (1 times)
7: 9 (3 times)
```
阅读全文