Helpful Maths:
有题目意思我们可以很清楚的知道的是,当只输入一个数字时,我们便只需要输出此数字即可。
当输入数字超过一个的时候,这道题就变成了一道排序题的升级版,我们只需要将数字单独存储,在将字符“+”单独存储,并分别计算出个数即可。
要注意在最后时换行,不然会格式不对无法AC
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
using namespace std;
bool compare (int a,int b)
{
return a<b;
}
int main()
{
int n,i,j,t;
int sum1=0;
int sum2=0;
char c[1000];
char z[1000];
char k[1000];
cin>>c;
if(c[1]=='\0')
cout<<c[0]<<endl;
else
{
for(n=0;c[n]!='\0';n++)
if(c[n]=='+')
{
k[sum1]='+';
sum1++;
}
else
{
z[sum2]=c[n];
sum2++;
}
sort(z,z+sum2,compare);//在排序为从小到大时,无需写compare,在sort中默认为从小到大排序
for(i=0;i<sum1;i++)
{
printf("%c",z[i]);
printf("%c",k[i]);
}
printf("%c\n",z[sum2-1]);
}
return 0;
}