输入一个二维数组,求每行的平均值。。。C语言要怎么写?


不能用指针。。。就用循环完成。。。
100分求解。。。。
如果用指针还可以做成动态数组,缓模不用的话只能固定开辟。另外程序没判断数组越界,不要输入超过MAXCOL和MAXROW的列和行数悔或。

#include<stdio.h>
#define MAXROW 200
#define MAXCOL 200
int main(void)
{
printf("type row and col,split with\" \":");
int row,col;
scanf("%d%d",&row,&col);
int matrix[MAXROW][MAXCOL];
float avg[MAXROW];
int curRow,curCol;
for(curRow=0;curRow<row;++curRow)
{
float sum=0;
for(curCol=0;curCol<col;++curCol)
{
int data;
printf("enter r%2dc%2d:",curRow+1,curCol+1);
scanf("%d",&data);
matrix[curRow][curCol]=data;
sum+=data;
}
avg[curRow]=sum/扰前缓curCol;
}
printf("outputs:\n");
for(curRow=0;curRow<row;++curRow)
{
for(curCol=0;curCol<col;++curCol)
{
printf(" %d",matrix[curRow][curCol]);
}
printf(" avg:%.2g\n",avg[curRow]);
}
return 0;
}
#include "stdio.h"
main()
{ int i,j,a[5][5];
float sum,aver;
printf("喊穗enter the grade.\n");
for(i=0;i<5;i++)
for(j=0;j<5;j++)
scanf("%d",&a[i][j]);
for(i=0;i<5;i++)
{ sum=0; aver=0;
for(j=0;j<5;j++)
sum=a[i][j]+sum;
aver=sum/5;
printf("the %i aver grade is %f\n",i,aver); }
getch();
}

想要改桥大数组元素个数的话敏渗竖 只要把5改成其余数就好了
#include <stdio.h>

/*--数组行列郑宏定义--*/

/*二维数组的行*/
#define M 3
/*二位数组的列*/笑模
#define N 3

int main(void)
{
int row = 0, col = 0;
float array[M][N] = {0}, avg[M] = {0};
/*--输入数组部分--*/
printf("Please Input the array of data: \n");
for(row = 0; row < M ; row ++)
{
for(col = 0; col < N; col++)
{
scanf("%f",&array[row][col]);
}
}

/*--计算数组每行平均值,存放在avg数组喊升册中--*/
printf("Cumulate the average of the array of each row: \n");

for(row = 0; row < M; row++)
{
for(col = 0; col < N; col++)
{
/*--累加每行的值--*/
avg[row] += array[row][col];
}
/*--每行的值除以每行的元素个数得到平均值--*/
avg[row] /= N;
}

/*--输出数组每行的平均值--*/
printf("OutPut the average of the array of each row :\n\t");

for(col = 0 ; col < N; col++)
{
printf("%d\t",(col+1));
}
printf("avg\n");

printf("------------------------------------------------\n");

for(row = 0; row < M ; row ++)
{
printf("%d\t",(row +1));
for(col = 0; col < N; col++)
{
printf("%.2f\t",array[row][col]);
}
printf("%.2f\n",avg[row]);
}
printf("------------------------------------------------\n");

return 1;
}
我在宏定义处规定的行列,你可以自己改成你想要的没闷多少兄察蚂行多少列
#include<stdio.h>
#define ROW 2
#define COL 2
void row(int junk[][COL],int row);
void main()
{
int sum_r,sum_c;
int r,c;
int junk[ROW][COL];
printf("为%dX%d矩阵羡埋输入%d个数:\n",ROW,COL,ROW*COL);
for(r=0;r<ROW;r++)
for(c=0;c<COL;c++)
{
scanf("%d",&junk[r][c]);
}
row(junk,ROW);

}
void row(int junk[][COL],int row)
{
int sum=0;
int r,c;
for(r=0;r<row;r++)
{
for(c=0;c<COL;c++)
{
sum+=junk[r][c];
printf("%4d ",junk[r][c]);
}
printf("%3f ",(double)sum/4);
sum=0;
printf("\n");
}

}
printf("%3f ",(double)sum/4);
sum=0;