C语言编写一个函数void fun(int tt[m][n], int pp[n]),tt指向一个m行n列的二维函数组,求出二维函数组每列中最小元素,并依次放入pp所指定一维数组中。二维数组中的数已在主函数中赋予
时间: 2024-04-12 12:27:34 浏览: 84
历年计算机二级上机试题
您好!要实现这个功能,可以按照以下步骤编写函数:
```c
void fun(int tt[m][n], int pp[n]) {
int i, j;
// 遍历每一列
for (j = 0; j < n; j++) {
int min = tt[0][j]; // 假设第一个元素为最小值
// 遍历当前列的每个元素,找到最小值
for (i = 1; i < m; i++) {
if (tt[i][j] < min) {
min = tt[i][j];
}
}
pp[j] = min; // 将最小值存入pp数组中
}
}
```
在主函数中,您需要先声明一个二维数组tt和一个一维数组pp,并为二维数组赋值。然后调用函数fun来将每列的最小元素存入pp数组中。以下是一个示例:
```c
#include <stdio.h>
#define m 3 // 定义二维数组的行数
#define n 4 // 定义二维数组的列数
void fun(int tt[m][n], int pp[n]) {
// 函数实现,见上述代码
}
int main() {
int tt[m][n] = {{3, 5, 2, 7},
{1, 9, 4, 6},
{8, 2, 0, 11}};
int pp[n];
int i;
fun(tt, pp);
printf("每列最小元素:");
for (i = 0; i < n; i++) {
printf("%d ", pp[i]);
}
return 0;
}
```
运行上述代码,输出结果为:
```
每列最小元素:1 2 0 6
```
希望能帮到您!如果还有其他问题,请随时提问。
阅读全文