您的位置:首页 > 其它

输入10 个数字,按各个位上的和从小到大排序,如果相同,则按数字从小到大排序。

2015-07-02 12:15 309 查看
//输入10 个数字,按各个位上的和从小到大排序,如果相同,则
//按数字从小到大排序。
#include<iostream>
#include<string>
#include<algorithm>
using namespace std;

int sum(int n)
{
int s = 0;
while(n !=0)
{
s += n%10;
n = n/10;
}
return s;
}
int cmp(int a,int b)
{
if(sum(a)!=sum(b))
return sum(a)<sum(b);
else
return a<b;
}
int main()
{
int n[10];
cout<<"输入10个数"<<endl;
for(int i = 0;i < 10;i++)
cin>>n[i];
sort(n,n+10,cmp);
for(int i = 0;i < 10;i++)
{
cout<<n[i];
if(i != 9)
cout<<' ';
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: