#include <stdio.h>#include <stdlib.h>#define MAX_SIZE 1000int main() { int nums[MAX_SIZE], freq[MAX_SIZE], n, maxFreq = 0; printf("请输入数值个数:"); scanf("%d", &n); for (int i = 0; i < n; i++) { scanf("%d", &nums[i]); freq[i] = 0; } for (int i = 0; i < n; i++) { int count = 1; for (int j = i+1; j < n; j++) { if (nums[j] == nums[i]) { count++; } } freq[i] = count; if (count > maxFreq) { maxFreq = count; } } printf("出现次数最多的数为:"); for (int i = 0; i < n; i++) { if (freq[i] == maxFreq) { printf("%d ", nums[i]); freq[i] = -1; // 标记为已输出 } } printf("\n按从大到小顺序输出:"); for (int i = n-1; i >= 0; i--) { if (freq[i] != -1) { // 没有被输出过 for (int j = i-1; j >= 0; j--) { if (freq[j] != -1 && nums[j] > nums[i]) { int temp = nums[j]; nums[j] = nums[i]; nums[i] = temp; } } printf("%d ", nums[i]); } } return 0;}的总体设计
时间: 2024-03-07 09:54:12 浏览: 127
SeqList.h #include <stdio.h> //包含标准输入输出流的头文件 #include <assert.h
这段代码的总体设计是实现一个统计一个数组中出现次数最多的数,并按从大到小的顺序输出所有未输出的数字。具体实现如下:
1. 定义一个数组nums,用于存储输入的数值。
2. 定义一个数组freq,用于统计每个数值出现的次数,初始值都为0。
3. 读入数值个数n,并循环读入n个数值到nums数组中。
4. 遍历nums数组,统计每个数值出现的次数,并将其存储到freq数组中。
5. 找出出现次数最多的数值,并将其出现次数存储到maxFreq变量中。
6. 遍历freq数组,将出现次数最多的数值输出,并标记为已输出。
7. 按从大到小的顺序遍历nums数组,输出未被标记为已输出的数值。
总之,这段代码实现了一个简单的统计和排序功能,可以用于处理一些简单的数据分析和处理任务。
阅读全文