0
已解决
李慧敏
新手守护
新手守护
现在给出一个整数n(不超过15位),请你将n中的每位数字取出,并重新组成一个最小的数。新数也应满足整数的常见形式,即除非给定的原数为零,否则重组后得到的新数的最高位数字不应为零。
怎么做,求核心,思路,伪代码
李慧敏在2021-02-28 20:08:07追加了内容
#include<iostream>
#include<string>
using namespace std;
int main(){
string s;
int m,c;
cin>>s;
s+='A';
for(int i=0;i<s.size();i++){
if(s[i]>s[i+1]){
c=s[i];
s[i]=s[i+1];
s[i+1]=c;
}
}
cout<<s.erase(s.size()-1,1);
return 0;
}
怎么去掉首位的0
0
已采纳
汪恺恒
中级启示者
中级启示者
输入一个数字,将这个数字循环取位数,每一位存进数组里
之后用sort对数组从小到大排序
之后统计数组中0的个数
最后输出
/*输出*/
for(int i=0的个数+1;i<=n;i++){
cout<<a[i];
if(i==0的个数+1){
for(int j=1;j<=0的个数;j++){
cout<<0;
}
}
}
还要特判如果这个数字为0,输出0
0