数组的赋值与输出,数组的转置,数组数据的排序,求数组的最大值和最小值,计算数组的平均值,计算数组的和使用C语言编辑一个程序实现上述功能
时间: 2024-03-09 07:51:26 浏览: 62
好的,我可以帮你解决这些问题。以下是一个实现上述功能的C语言程序:
```c
#include <stdio.h>
#define ROWS 3
#define COLS 4
void input_array(int arr[ROWS][COLS]);
void output_array(int arr[ROWS][COLS]);
void transpose_array(int arr[ROWS][COLS]);
void sort_array(int arr[ROWS][COLS]);
int max_array(int arr[ROWS][COLS]);
int min_array(int arr[ROWS][COLS]);
float average_array(int arr[ROWS][COLS]);
int sum_array(int arr[ROWS][COLS]);
int main() {
int arr[ROWS][COLS];
input_array(arr);
printf("原始数组:\n");
output_array(arr);
transpose_array(arr);
printf("转置后的数组:\n");
output_array(arr);
sort_array(arr);
printf("排序后的数组:\n");
output_array(arr);
printf("最大值:%d\n", max_array(arr));
printf("最小值:%d\n", min_array(arr));
printf("平均值:%f\n", average_array(arr));
printf("总和:%d\n", sum_array(arr));
return 0;
}
void input_array(int arr[ROWS][COLS]) {
printf("请输入%d行%d列的数组:\n", ROWS, COLS);
for (int i = 0; i < ROWS; i++) {
for (int j = 0; j < COLS; j++) {
scanf("%d", &arr[i][j]);
}
}
}
void output_array(int arr[ROWS][COLS]) {
for (int i = 0; i < ROWS; i++) {
for (int j = 0; j < COLS; j++) {
printf("%d ", arr[i][j]);
}
printf("\n");
}
}
void transpose_array(int arr[ROWS][COLS]) {
int temp;
for (int i = 0; i < ROWS; i++) {
for (int j = i + 1; j < COLS; j++) {
temp = arr[i][j];
arr[i][j] = arr[j][i];
arr[j][i] = temp;
}
}
}
void sort_array(int arr[ROWS][COLS]) {
int temp;
for (int k = 0; k < ROWS * COLS - 1; k++) {
for (int i = 0; i < ROWS; i++) {
for (int j = 0; j < COLS; j++) {
if (j < COLS - 1 && arr[i][j] > arr[i][j + 1]) {
temp = arr[i][j];
arr[i][j] = arr[i][j + 1];
arr[i][j + 1] = temp;
}
if (i < ROWS - 1 && arr[i][j] > arr[i + 1][j]) {
temp = arr[i][j];
arr[i][j] = arr[i + 1][j];
arr[i + 1][j] = temp;
}
}
}
}
}
int max_array(int arr[ROWS][COLS]) {
int max = arr[0][0];
for (int i = 0; i < ROWS; i++) {
for (int j = 0; j < COLS; j++) {
if (arr[i][j] > max) {
max = arr[i][j];
}
}
}
return max;
}
int min_array(int arr[ROWS][COLS]) {
int min = arr[0][0];
for (int i = 0; i < ROWS; i++) {
for (int j = 0; j < COLS; j++) {
if (arr[i][j] < min) {
min = arr[i][j];
}
}
}
return min;
}
float average_array(int arr[ROWS][COLS]) {
float sum = 0;
for (int i = 0; i < ROWS; i++) {
for (int j = 0; j < COLS; j++) {
sum += arr[i][j];
}
}
return sum / (ROWS * COLS);
}
int sum_array(int arr[ROWS][COLS]) {
int sum = 0;
for (int i = 0; i < ROWS; i++) {
for (int j = 0; j < COLS; j++) {
sum += arr[i][j];
}
}
return sum;
}
```
这个程序可以让你输入一个 3 行 4 列的数组,然后实现了数组的赋值、输出、转置、排序、求最大值、求最小值、求平均值和求总和等功能。
阅读全文
相关推荐



















