C语言 编写一个系统完成数组的赋值与输出,数组的转置,数组数据的排序,多维数组的加减乘除运算,求数组的最大最小值,计算数组行,列的值(如求和,求平均)
时间: 2024-03-14 20:43:16 浏览: 67
C语言程序设计-编写程序。从键盘读入8个整数存入数组a中并输出这8个数据。和、最大值、最小值及平均值。正数之和、负数之和
5星 · 资源好评率100%
好的,我来为您解答。
首先,我们需要定义一个数组并赋值,可以使用如下代码:
```c
#include <stdio.h>
#define ROW 3
#define COL 3
int main() {
int arr[ROW][COL] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
// 输出数组
for (int i = 0; i < ROW; i++) {
for (int j = 0; j < COL; j++) {
printf("%d ", arr[i][j]);
}
printf("\n");
}
return 0;
}
```
接下来,我们来实现数组的转置。数组转置的核心思想是行列互换,代码如下:
```c
#include <stdio.h>
#define ROW 3
#define COL 3
int main() {
int arr[ROW][COL] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
// 数组转置
for (int i = 0; i < ROW; i++) {
for (int j = i + 1; j < COL; j++) {
int temp = arr[i][j];
arr[i][j] = arr[j][i];
arr[j][i] = temp;
}
}
// 输出数组
for (int i = 0; i < ROW; i++) {
for (int j = 0; j < COL; j++) {
printf("%d ", arr[i][j]);
}
printf("\n");
}
return 0;
}
```
接下来,我们来实现数组数据的排序。这里我们使用冒泡排序的思想,代码如下:
```c
#include <stdio.h>
#define ROW 3
#define COL 3
int main() {
int arr[ROW][COL] = {{3, 2, 1}, {6, 5, 4}, {9, 8, 7}};
// 数组排序
for (int i = 0; i < ROW; i++) {
for (int j = 0; j < COL - 1; j++) {
for (int k = j + 1; k < COL; k++) {
if (arr[i][j] > arr[i][k]) {
int temp = arr[i][j];
arr[i][j] = arr[i][k];
arr[i][k] = temp;
}
}
}
}
// 输出数组
for (int i = 0; i < ROW; i++) {
for (int j = 0; j < COL; j++) {
printf("%d ", arr[i][j]);
}
printf("\n");
}
return 0;
}
```
接下来,我们来实现多维数组的加减乘除运算。这里我们以两个二维数组相加为例,代码如下:
```c
#include <stdio.h>
#define ROW 3
#define COL 3
int main() {
int arr1[ROW][COL] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
int arr2[ROW][COL] = {{9, 8, 7}, {6, 5, 4}, {3, 2, 1}};
int arr3[ROW][COL] = {0};
// 数组相加
for (int i = 0; i < ROW; i++) {
for (int j = 0; j < COL; j++) {
arr3[i][j] = arr1[i][j] + arr2[i][j];
}
}
// 输出数组
for (int i = 0; i < ROW; i++) {
for (int j = 0; j < COL; j++) {
printf("%d ", arr3[i][j]);
}
printf("\n");
}
return 0;
}
```
接下来,我们来实现求数组的最大最小值。代码如下:
```c
#include <stdio.h>
#define ROW 3
#define COL 3
int main() {
int arr[ROW][COL] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
int max = arr[0][0];
int min = arr[0][0];
// 求数组最大最小值
for (int i = 0; i < ROW; i++) {
for (int j = 0; j < COL; j++) {
if (arr[i][j] > max) {
max = arr[i][j];
}
if (arr[i][j] < min) {
min = arr[i][j];
}
}
}
printf("max = %d\n", max);
printf("min = %d\n", min);
return 0;
}
```
最后,我们来实现计算数组行,列的值。代码如下:
```c
#include <stdio.h>
#define ROW 3
#define COL 3
int main() {
int arr[ROW][COL] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
int row_sum[ROW] = {0};
int col_sum[COL] = {0};
// 计算数组行,列的值
for (int i = 0; i < ROW; i++) {
for (int j = 0; j < COL; j++) {
row_sum[i] += arr[i][j];
col_sum[j] += arr[i][j];
}
}
// 输出数组行的值
printf("row_sum: ");
for (int i = 0; i < ROW; i++) {
printf("%d ", row_sum[i]);
}
printf("\n");
// 输出数组列的值
printf("col_sum: ");
for (int i = 0; i < COL; i++) {
printf("%d ", col_sum[i]);
}
printf("\n");
return 0;
}
```
以上就是实现数组的赋值与输出,数组的转置,数组数据的排序,多维数组的加减乘除运算,求数组的最大最小值,计算数组行,列的值的 C 语言代码。
阅读全文