【程序设计】
---------------------------------------------------------题目:定义一个函数min,求n个数中的平均值、最小数和其下标,
并在主函数中打印平均值、最小数和下标。
格式:
int min(int s[], int n,double &aver)
注意:如有多个最小值,以最后一个为准。
样例:
10个数如下:
34 12 83 56 29 93 56 12 88 72
平均值=53.5
最小值=12
位置=2
3个数如下:
12 83 56
平均值=50.3333
最小值=12
位置=1
请按任意键继续. . .
代码如下:
#include <iostream>
using namespace std;
/**********Program**********/
int min(int s1[],int n1, double &aver)
{
int mini=*s1,i=0,position=0;
aver=0;
for( i=0;i<n1;i++)
{
aver+=*s1;
if(mini>*s1)
{
mini=*s1;
position=i;
}
s1++;
}
aver/=n1;
return position;
}
/********** End **********/
void main(void)
{
int pos;
double aver;
int s[10]={34,12,83,56,29,93,56,12,88,72};
int s1[3]={12,83,56};
int n=10;
int i;
pos=min(s,n,aver);
cout<<n<<"个数如下:"<<endl;
for(i=0;i<n;i++ )
cout<<s[i]<<" ";
cout<<"\n平均值="<<aver<<endl;
cout<<"最小值="<<s[pos]<<endl;
cout<<"位置="<<pos+1<<endl;
n=3;
pos=min(s1,n,aver);
cout<<n<<"个数如下:"<<endl;
for(i=0;i<n;i++ )
cout<<s1[i]<<" ";
cout<<"\n平均值="<<aver<<endl;
cout<<"最小值="<<s1[pos]<<endl;
cout<<"位置="<<pos+1<<endl;
}