--- tags: - 作业 - C语言 aliases: empty 日期: 2026/1/29 --- **1.定义一个长度为10的数组并从键盘输入10个整数对数组进行赋值,并实现下列功能** 1. 判定该数组是否有序 2. 若无序则将数组中的数据进行排序 3. 找出数组中是否存在众数并输出结果 ```c #include void bubble_sort(int arr[],int lenth) { for(int i = 0;i < lenth;i++){ for(int j = i+1;j < lenth;j++){ if(arr[i] > arr[j]){ arr[i] ^= arr[j]; arr[j] ^= arr[i]; arr[i] ^= arr[j]; } } } } int sort_check(int arr[],int lenth) { int count = 0,fcount=0; for(int i=0,j=1;i= arr[j]) count++; if(arr[i] <= arr[j]) fcount++; } if(count == lenth-1 || fcount == lenth-1) return 1; else return 0; } void find_mode(int arr[], int length) { int count[10] = {0}; int max_freq = 1; for (int i = 0; i < length; i++) { if (count[i] != -1) { int freq = 1; for (int j = i + 1; j < length; j++) { if (arr[i] == arr[j]) { freq++; count[j] = -1; } } count[i] = freq; if (freq > max_freq) { max_freq = freq; } } } printf("数组众数结果:"); int has_mode = 0; for (int i = 0; i < length; i++) { if (count[i] == max_freq) { if (has_mode) printf("、"); printf("%d(出现%d次)", arr[i], max_freq); has_mode = 1; } } if (max_freq == 1) { printf("所有元素均仅出现1次,无有效众数\n"); } else { printf("(最大频次:%d)\n", max_freq); } } int main(int argc, char const *argv[]) { int arr[10]; int mode; printf("输入10个数:"); for(int i=0;i<10;i++) scanf("%d",&arr[i]); if(sort_check(arr,10)) printf("已排序\n"); else{ printf("未排序\n"); bubble_sort(arr,10); printf("排序后为:"); for(int i=0;i<10;i++) printf("%d ",arr[i]); printf("\n"); } find_mode(arr,10); return 0; } ``` ![700](assets/1-29/file-20260129201415992.png) **2.定义一个二维数组存储一个3x3的矩阵,实现如下功能** 1. 计算矩阵对角元素的和 2. 判断矩阵是否是对称矩阵 ```c #include #define ROW 3 #define COL 3 int calcDiagSum(int matrix[ROW][COL]) {     int sum = 0;     for (int i = 0; i < ROW; i++) {         sum += matrix[i][i];     }     return sum; } int isSymmetricMatrix(int matrix[ROW][COL]) {     for (int i = 0; i < ROW; i++) {         for (int j = 0; j < COL; j++) {             if (matrix[i][j] != matrix[j][i]) {                 return 0;             }         }     }     return 1; } int main(int argc, char const *argv[]) {     int matrix[ROW][COL];     printf("请输入3x3矩阵的9个整数:\n");     for (int i = 0; i < ROW; i++) {         for (int j = 0; j < COL; j++) {             scanf("%d", &matrix[i][j]);         }     }     int diagSum = calcDiagSum(matrix);     printf("\n矩阵主对角线元素的和为:%d\n", diagSum);     if (isSymmetricMatrix(matrix))         printf("该3x3矩阵是对称矩阵\n");     else         printf("该3x3矩阵不是对称矩阵\n");     return 0; } ``` ![700](assets/1-29/file-20260129202925505.png) **3.小张作为公司的HR设计了一个年会游戏,来观察员工的团队协作能力、测试员工在压力下的决策能力,寻找潜在的项目领导者,现在有N名员工参与并围坐一圈,游戏规则如下:** - 从某位员工开始顺时针报数 - 报到数字M的倍数员工被淘汰出局 - 从下一位员工继续报数,重复步骤2 - 游戏继续直到只剩下K名员工(获胜者) ```c ``` **4.小刘作为公司的技术骨干编写了一个程序,帮助他每次都能处在胜利者中并最终获得晋升资格,请你使用C语言编程复现小刘的程序实现以下功能:** - 输入总人数N、报数间隔M和获胜人数K - 计算并输出安全的座位位置(最后剩下的K人) ```c ```