从键盘输入3*3的矩阵,编程计算其平均值并输出,同时输出大于等于平均值的各元素值。 输入矩阵并计算平均值的函数原型: int ReadMatrixAndAverage(int matrix[][3]); 输出大于等于平均值的各元素值的函数原型: void PrintAboveAver(int matrix[][3], int average); **输入提示信息:"please input 3*3 matrix\n" **输入格式:"%d" **输出提示信息及格式: 输出平均值:"aver = %d\n" 输出高于平均值各元素的值:"%4d" 注:不允许使用goto语句
时间: 2024-02-25 08:56:27 浏览: 62
好的,这里是一个 C 语言程序来实现这个问题:
```c
#include <stdio.h>
int ReadMatrixAndAverage(int matrix[][3]);
void PrintAboveAver(int matrix[][3], int average);
int main() {
int matrix[3][3];
int average;
printf("please input 3*3 matrix\n");
ReadMatrixAndAverage(matrix);
average = ReadMatrixAndAverage(matrix);
printf("aver = %d\n", average);
PrintAboveAver(matrix, average);
return 0;
}
int ReadMatrixAndAverage(int matrix[][3]) {
int sum = 0;
for(int i = 0; i < 3; i++) {
for(int j = 0; j < 3; j++) {
scanf("%d", &matrix[i][j]);
sum += matrix[i][j];
}
}
return sum / 9;
}
void PrintAboveAver(int matrix[][3], int average) {
for(int i = 0; i < 3; i++) {
for(int j = 0; j < 3; j++) {
if(matrix[i][j] >= average) {
printf("%4d", matrix[i][j]);
}
}
}
}
```
程序中使用了两个函数来实现要求。`ReadMatrixAndAverage()` 函数用于从键盘读入矩阵,并计算其平均值,返回平均值。`PrintAboveAver()` 函数用于输出大于等于平均值的各元素值。
在 `ReadMatrixAndAverage()` 函数中,使用两层循环读入矩阵,并计算矩阵中所有元素的和,最后返回平均值。
在 `PrintAboveAver()` 函数中,同样使用两层循环遍历矩阵中的每个元素,如果该元素大于等于平均值,则输出该元素的值。
在 `main()` 函数中,首先输出提示信息,然后调用 `ReadMatrixAndAverage()` 函数读入矩阵,并计算平均值。接着输出平均值,最后调用 `PrintAboveAver()` 函数输出大于等于平均值的各元素值。
阅读全文