求教,我这个问题出在哪;萌新勿喷#include <stdio.h>#define M 4#define N 6int main(){ int a[M+1][N+1]; int sum=0,i,j; for(i=0;i<M;i++) { sum=0; for(j=0;j<N;j++) { scanf("%d",&a[i][j]); sum+=a[i][j]; } a[i][N]=sum/N; a[M][j]=sum/M; } for( i=0 ; i<M ; i++ ) { for ( j=0; j<N+1 ; j++) printf("%d ",a[i][j]); printf("\n"); } for(j=0;j<N;j++) { for(i=0;i<M+1;i++) printf("%d ",a[i][j]); } return 0;}
由于整数的平均值也应该是浮点值,所以a[i][N]=sum/N;这样不行。建议你把a数组和sum都声明为浮点型。
a[M][j]=sum/M;逻辑有错。题目似乎是要求列平均值,应该另想办法,不能兼用i、j以及sum了。
改后代码如下:
#define M 4我试过改成浮点数,还是不行
追答#include "stdio.h"运行样例:
行不行自己看……
需要在原来数组的后面输出平均数啊
追答平均数另外声明一个浮点型的类型
还有,除法运算那个规则,整型除以整型结果是整型