题意:
输入一组数据,加起来求平均值,将大的数移动到小的数上;
代码:
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,i,j,x=0,y=1,k;
vector<int>a;
vector<int>::iterator
p;
while(cin>>n&&n!=0)
{ k=0;x=0;
for(i=0;i<n;i++)
{
cin>>j;
a.push_back(j);
k+=j;
}
for(p=a.begin();p!=a.end();p++)
if(*p>(k/n))
x+=*p-k/n;
cout<<"Set #"<<y<<endl;
cout<<"The minimum number of moves is "<<x<<"."<<endl;
cout<<endl;
y++;
a.clear();
}
return 0;
}
感想:
灵活运用指针;
本文介绍了一个数据平衡算法的实现过程,通过输入一组数值并计算平均值,将超过平均值的数据向下调整,以此来达到数据平衡的目的。算法使用C++语言,并借助标准模板库(STL)中的vector容器进行数据存储与操作。
447

被折叠的 条评论
为什么被折叠?



