C++实现填充数组并求平均数及各值与平均数之差。
其具体实现代码如下:
#include<iostream>
using namespace std;
const int largeLength = 4;
void fillArray(int a[],int number,int& numberUsed)
{
int index=0,next;
cout<<"请输入"<<number<<"个非负数\n";
cout<<"键入负数表示结束!\n";
cout<<"请输入数字:"<<endl;
cin>>next;
cout<<next<<endl;
while((next>=0)&&(index<number))
{
a[index]=next;
index++;
cout<<"请输入数字:"<<endl;
cin>>next;
cout<<next<<endl;
}
numberUsed=index;
cout<<"最终数为:"<<numberUsed<<endl;
}
double computerAverage(const int a[],int numberUsed)
{
double total = 0.00;
for(int index = 0;index<numberUsed;index++)
{
total += a[index];
}
return total;
}
void showDifference(const int a[],int numberUsed)
{
double average = computerAverage(a,numberUsed)/numberUsed;
cout<<"Average of "<<numberUsed<<" is "<<average<<endl;
cout<<"The scores are \n";
for(int i=0;i<numberUsed;i++)
cout<<a[i]<<"differs from average by "<<a[i]-average<<endl;
}
int main()
{
int as[largeLength],numberUsed;
fillArray(as,largeLength,numberUsed);
showDifference(as,numberUsed);
return 0;
}