用vc6.0写的一段代码,无错误无警告,为什么结果不正确。
题目:编写程序,通过调用随机函数给5*6的二维数组元素赋10~40范围内的整数,求出二维数组没行元素的平均值。我写的代码:#include<stdio.h>#includ...
题目:编写程序,通过调用随机函数给5*6的二维数组元素赋10~40范围内的整数,求出二维数组没行元素的平均值。
我写的代码:
#include <stdio.h>#include <stdlib.h>#define M 6#define N 5void getdata (int(*)[M]);void lineave(int[][M],float *);void outdata(int [N][M],float *);main(){ int r[N][M]; float ave[N]; getdata(r); lineave(r,ave); outdata(r,ave); return 0;}void getdata(int(*sp)[M]){ int i,j,x; for(i=0;i<N;i++) { j=0; while (j<M) { x=rand()%41; if(x>=10) sp[i][j]=x;j++; } }}void lineave(int s[][M],float *a){ int i,j;float ave; for(i=0;i<N;i++) { ave=0.0; for(j=0;j<M;j++) ave=ave+s[i][j]; a[i]=ave/M; }}void outdata(int sp[N][M],float a[]){ int i,j; printf("output the result:\n"); for(i=0;i<N;i++) { for(j=0;j<M;j++) printf("%4d",sp[i][j]); printf(":%6.2f\n",a[i]); } putchar('\n');}
运行后的结果是:有负数,是怎么回事?望高手解答啊 展开
我写的代码:
#include <stdio.h>#include <stdlib.h>#define M 6#define N 5void getdata (int(*)[M]);void lineave(int[][M],float *);void outdata(int [N][M],float *);main(){ int r[N][M]; float ave[N]; getdata(r); lineave(r,ave); outdata(r,ave); return 0;}void getdata(int(*sp)[M]){ int i,j,x; for(i=0;i<N;i++) { j=0; while (j<M) { x=rand()%41; if(x>=10) sp[i][j]=x;j++; } }}void lineave(int s[][M],float *a){ int i,j;float ave; for(i=0;i<N;i++) { ave=0.0; for(j=0;j<M;j++) ave=ave+s[i][j]; a[i]=ave/M; }}void outdata(int sp[N][M],float a[]){ int i,j; printf("output the result:\n"); for(i=0;i<N;i++) { for(j=0;j<M;j++) printf("%4d",sp[i][j]); printf(":%6.2f\n",a[i]); } putchar('\n');}
运行后的结果是:有负数,是怎么回事?望高手解答啊 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询