在c语言中怎么对数组元素计数
时间: 2024-12-23 08:21:02 浏览: 6
在C语言中,可以通过遍历数组并比较元素来实现对数组元素计数,特别是当你要基于特定条件(如大小关系)计数时。这里有一个示例,使用结构体`order`存储每个元素及其对应的计数值(假设`con`字段用于计数),并按降序排列元素[^1]:
```c
#include <stdio.h>
// 定义结构体
struct order {
int num;
int con; // 记录该元素大于其他元素的次数
};
int main() {
const int N = 5; // 数组长度
struct order a[20]; // 创建结构体数组
// 输入数组元素
for (int i = 0; i < N; i++) {
scanf("%d", &a[i].num);
a[i].con = 0; // 初始化计数器为0
}
// 对数组进行降序排列,并增加计数
for (int i = N - 1; i >= 1; i--) {
for (int j = i - 1; j >= 0; j--) {
if (a[i].num < a[j].num) {
a[j].con++; // 如果当前元素小于上一个,上一个元素的计数加一
} else {
a[i].con++; // 否则,当前元素自己计数加一
}
}
}
// 打印结果
printf("各数的顺序(按降序排列,计数表示该元素大于其他元素的次数):\n");
for (int i = 0; i < N; i++) {
printf("%3d %3d\n", a[i].num, a[i].con);
}
return 0;
}
```
阅读全文