输入一个3*3的矩阵,求矩阵的平
均值,并找出矩阵中小于平均值的元素个
数。
#include<stdio.h>
#define M 3
#define N 3
void Create_matrix(int matrix[M][N], int m, int n) {
int i,j;
printf("开始输入矩阵内容(%d行%d列)\n",m,n);
for(i=0;i<m;i++) {
printf("输入第%d行的%d个元素:",i+1,n);
for(j=0;j<n;j++)
scanf("%d",&matrix[i][j]);
}
}
void Print_matrix(int matrix[M][N], int m, int n) {
int i,j;
for(i=0;i<m;i++) {
for(j=0;j<n;j++)
printf("%d\t",matrix[i][j]);
printf("\n");
}
}
void Print_avg(int matrix[M][N], int m, int n) {
int i,j;
double sum = 0;
double avg = 0;
for(i=0;i<m;i++) {
for(j=0;j<n;j++)
sum += matrix[i][j];
}
avg = sum/(m*n);
printf("%lf\n",avg);
}
void Print_mincount_avg(int matrix[M][N], int m, int n) {
int i,j;
double sum = 0;
double avg = 0;
for(i=0;i<m;i++) {
for(j=0;j<n;j++)
sum += matrix[i][j];
}
avg = sum/(m*n);
int count=0;
for(i=0;i<m;i++) {
for(j=0;j<n;j++)
if(matrix[i][j] < avg) count++;
}
printf("%d\n",count);
}
int main(void) {
int matrix[M][N];
Create_matrix(matrix, M, N);
printf ("======================================================\n\n");
printf ("您输入的矩阵为:\n");
Print_matrix(matrix, M, N);
printf ("矩阵平均值:\n");
Print_avg(matrix, M, N);
printf ("矩阵中比平均值小的数的个数:\n");
Print_mincount_avg(matrix, M, N);
return 0;
}