本帖最后由 yzyou521 于 2016-1-19 17:09 编辑 #include <iostream>
const int MAX=7; //设置数组长度,也可使用循环确定
void GetArray(int v[]); //获取数组成员
int GetEverage(int v[]); //获取均值
void BubbleSort(int v[]); //冒泡排序
void ResortNumber(int v[],int everages); //重新排序
int main()
{
using namespace std;
int array[MAX];
int everage;
//以下调用函数
GetArray(array);
everage=GetEverage(array);
BubbleSort(array);
ResortNumber(array,everage);
//调用结束
return 0;
}
void GetArray(int v[])
{
using namespace std;
cout<<"Please input numbers:"<<endl;
for(int i=0;i<MAX;i++)
{
cin>>v[i];
}
return;
}
int GetEverage(int v[])
{
int sum=0;
int everage=sum/MAX;
for(int i=0;i<MAX;i++)
{
sum=sum+v[i];
}
return everage;
}
void BubbleSort(int v[])
{
int i,j,tmp;
for(i=0;i<MAX-1;i++)
{
for(j=0;j<MAX-1-i;j++)
{
if(v[j]>v[j+1])
{
tmp=v[j];
v[j]=v[j+1];
v[j+1]=tmp;
}
}
}
}
void ResortNumber(int v[],int everages)
{
using namespace std;
int tmp1[MAX];
int tmp2[MAX];
int NewArray[MAX];
for(int i=0;i<MAX;i++)
{
if(v[i]>everages)
{
tmp1[i]=v[i];
}
else
{
tmp1[i]=0;
}
}
for(int j=0;j<MAX;j++)
{
if(v[j]<=everages)
{
tmp2[j]=v[j];
}
else
{
tmp2[j]=0;
}
}
利用冒泡法将tmp2[]中非零值降序排列,此步略,同BubbleSort函数
for(int l=0;l<MAX;l++ )
{
NewArray[l]=tmp1[l]+tmp2[l];
}
for(int k=0;k<MAX;k++)
{
cout<<NewArray[k]<<" ";
}
}
补充一下 你是要从文件读入 那么文件读入就需要使用循环来确定数组长度
但是主要的思路不变
纯手打
汗.. |