c语言编写程序,输入两个正整数m和n,为m*n的矩阵a输入各元素值,然后求出该矩阵所有元素的平均值
时间: 2024-03-12 12:46:08 浏览: 79
好的,以下是一个C语言程序,可以实现您的要求:
```c
#include <stdio.h>
int main() {
int m, n;
printf("请输入矩阵的行数m:");
scanf("%d", &m);
printf("请输入矩阵的列数n:");
scanf("%d", &n);
int matrix[m][n];
printf("请输入矩阵的元素:\n");
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
scanf("%d", &matrix[i][j]);
}
}
int sum = 0;
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
sum += matrix[i][j];
}
}
double average = (double) sum / (m * n);
printf("矩阵所有元素的平均值为:%f", average);
return 0;
}
```
程序首先要求用户输入矩阵的行数和列数,然后输入矩阵的元素。程序将计算矩阵所有元素的总和,并求出平均值。最后,程序将输出平均值。
希望这个程序对您有所帮助!
相关问题
c语言编写一个程序,输入两个正整数m和n(2<=m<=5,2<=n<=5),为m*n的矩阵a输入各元素值,然后输出该矩阵并求出该矩阵所有元素的平均值,用自定义函数法
以下是用自定义函数法编写的程序:
```c
#include <stdio.h>
// 自定义函数,用于输入矩阵元素值
void inputMatrix(int matrix[][5], int m, int n) {
int i, j;
for (i = 0; i < m; i++) {
for (j = 0; j < n; j++) {
printf("请输入矩阵第 %d 行第 %d 列的元素值:", i+1, j+1);
scanf("%d", &matrix[i][j]);
}
}
}
// 自定义函数,用于输出矩阵及平均值
void outputMatrix(int matrix[][5], int m, int n) {
int i, j, sum = 0;
for (i = 0; i < m; i++) {
for (j = 0; j < n; j++) {
printf("%d ", matrix[i][j]);
sum += matrix[i][j];
}
printf("\n");
}
printf("矩阵元素平均值为:%.2f\n", (float)sum / (m * n));
}
int main() {
int m, n, a[5][5];
printf("请输入矩阵的行数和列数(用空格分隔):");
scanf("%d %d", &m, &n);
inputMatrix(a, m, n);
printf("输入的矩阵为:\n");
outputMatrix(a, m, n);
return 0;
}
```
程序运行截图如下:
```
请输入矩阵的行数和列数(用空格分隔):3 4
请输入矩阵第 1 行第 1 列的元素值:1
请输入矩阵第 1 行第 2 列的元素值:2
请输入矩阵第 1 行第 3 列的元素值:3
请输入矩阵第 1 行第 4 列的元素值:4
请输入矩阵第 2 行第 1 列的元素值:5
请输入矩阵第 2 行第 2 列的元素值:6
请输入矩阵第 2 行第 3 列的元素值:7
请输入矩阵第 2 行第 4 列的元素值:8
请输入矩阵第 3 行第 1 列的元素值:9
请输入矩阵第 3 行第 2 列的元素值:10
请输入矩阵第 3 行第 3 列的元素值:11
请输入矩阵第 3 行第 4 列的元素值:12
输入的矩阵为:
1 2 3 4
5 6 7 8
9 10 11 12
矩阵元素平均值为:6.50
```
C语言编写程序,输入两个正整数 m 和n (2<=m<=5,2<=n,=5),为m*n 的矩阵a输入元素值,然后求出该矩阵所有元素的平均值。
好的,以下是一个用C语言编写的求解矩阵元素平均值的代码:
```c
#include <stdio.h>
int main()
{
int m, n, a[5][5], i, j, sum = 0;
float avg;
printf("请输入矩阵的大小(2 ≤ m,n ≤ 5):");
scanf("%d%d", &m, &n);
printf("请输入矩阵元素值:\n");
for(i = 0; i < m; i++)
{
for(j = 0; j < n; j++)
{
scanf("%d", &a[i][j]); // 输入矩阵元素
sum += a[i][j]; // 累加矩阵元素的值
}
}
avg = (float)sum / (m * n); // 计算矩阵元素的平均值
printf("矩阵元素的平均值为:%.2f\n", avg); // 输出结果
return 0;
}
```
在该代码中,使用了两个变量m和n来表示矩阵的行数和列数,使用了二维数组a来存储矩阵元素。通过for循环遍历矩阵元素,并使用sum变量来累加矩阵元素的值。最后,通过计算(sum / (m * n))来求出矩阵元素的平均值,并使用printf函数输出结果。注意,需要将sum转换为float类型,以避免整数除法的问题。
阅读全文