zhyf • 3个月前
using namespace std; int main() {
int num,i = 0,m = 0;
cin>>num;//输入
int a[10];//把num的每一位都放进去 9811 9 8 1 1
while(num)//分离数位
{
a[i] = num%10;
num/=10;
i++;
}
int b[10] = {0};
for(int j = 0;j<i;j++)//桶排序
{
b[a[j]]++;// 0 2 0 0 0 0 0 0 1 1
}
for(int k = 0;k<10;k++)//把排序好的数字重新提取到a数组中
{
while(b[k]>0)
{
a[m] = k;
m++;
b[k]--;
}
}
int sum1 = 0,sum2 = 0,c = 0;
for(int k = 0;k<i;k++)
{
if(c==0)
{
sum1=sum1*10+a[k];
c=1;
}
else
{
sum2 = sum2*10+a[k];
c = 0;
}
}
cout<<sum1+sum2;
return 0;
}
评论:
请先登录,才能进行评论