输入2个一维数组,分别求数组平均值
#include <stdio.h>#define N 5void main(){ float average(float array[],int n); float a[N],b[N]; int i,j; { printf("array a is:\n"); for(i=0;i<N;i++) scanf("%d",&a[i]); } printf("\n"); { printf("array b is:\n"); for(j=0;j<N;j++) scanf("%d",&b[j]); } printf("\n"); printf("the average of class a is %6.2f\n",average(a,N)); printf("the average of class b is %6.2f\n",average(b,N));}float average(float array[],int n){ int i; float aver,sum=array[0]; for(i=0;i<n;i++) sum+=array[i]; aver=sum/n; return(aver);}//用C++改写了你的程序,供参考。建议用指针处理数组吧,简单些//可以在 scanf("%d",&b[j]); 语句循环后打印出数组的输入,看是否正常//float aver,sum=array[0];for(i=0;i<n;i++) ===>可以改为 float aver,sum=array[0];for(i=1;i<n;i++)#include <iostream>#define N 5using namespace std;double average(double *array,int n) //建议声明为double 类型,不用float类型{ int i; double *p=array;//更新p的值,array这个数组指针不能改变值的 double sum=*p; for(i=1;i<n;i++) sum+=*(p+i); return(sum/n);//返回平均值}int main(){ double a[N],b[N]; int i,j; //输入需要计算平局数的数组 cout<<"请输入数组a的"<<N <<"个元素"<<endl; for(i=0;i<N;i++) cin>>a[i]; cout<<"请输入数组b的"<<N <<"个元素"<<endl; for(i=0;i<N;i++) cin>>b[i]; cout<<"the average of class a is :"<<average(a,N)<<endl; cout<<"the average of class b is :"<<average(b,N)<<endl; return 0;}