回复 9楼 heroinearth
哦,对,那是不是要把n定义成float型?
回复 10楼 heroinearth
额,看到了。float *k
getdata(int (*p)[6]) {int i,j,x; j=0; for(i=0;i<5;i++) { while(j<6) { x=random(41); if(x>9) { p[i][j]=x; j++; } } j=0;//这里要将j赋值为0,才能进行下一个循环, } } 这个也改了一下 out(int s[5][6],float *k) {int i,j; for(i=0;i<5;i++) { for(j=0;j<6;j++) { printf(" %d ",s[i][j]); } printf("%.2f\n",k[i]) ; } } fun(int q[][6],float *k) {int i,j,n; float m; m=0; n=0; for(i=0;i<5;i++) {for(j=0;j<6;j++) n=n+q[i][j]; m=n/6.0; k[i]=m; n=0;//n也要赋值为0 } }
# include <stdio.h> # include <stdlib.h> void getdata(int (*p)[6]) {int i,j,x; j=0; for(i=0;i<5;i++) { while(j<6) { x=rand(); if(x>9&x<41) { p[i][j]=x; j++; } } j=0; } } void out(int s[5][6],float *k) {int i,j; for(i=0;i<5;i++) { for(j=0;j<6;j++) { printf(" %d ",s[i][j]); } printf("%.2f\n",k[i]) ; } } void fun(int q[][6],float *k) {int i,j; float n,m; m=0; n=0; for(i=0;i<5;i++) {for(j=0;j<6;j++) n=n+q[i][j]; m=n/6; k[i]=m; n=0; } } main() {int a[5][6]; float k[6]; getdata(a); fun(a,k); out(a,k); }