4428 数字串排序输出经验值:0
题目描述 Description
有一个数字串,全部由数字0~9组成。现在要将这个数字串中的数字从小到大重新排序,然后全部输出,每两个数字中间用空格隔开。
输入描述 Input Description
输入一个数字串,位数不超过100位
输出描述 Output Description
将数字串中的数字字符从小到大排序输出,每两个字符之间用空格隔开。
样例输入 Sample Input
981241014
样例输出 Sample Output
0 1 1 1 2 4 4 8 9
武建豪在2021-03-27 20:00:11追加了内容
@曹博扬 @李瑞曦 @侯平仄 @邓涵睿@程祺然
武建豪在2021-03-27 20:14:09追加了内容
#include<iostream>
#include<fstream>
#include<algorithm>
#include<cmath>
#include<cstdio>
#include<cstring>
#include<string>
#include<iomanip>
#include<cstdlib>
using namespace std;
int a[2000],b;
string s;
int main()
{
cin>>s;
for(int i=1;i<s.size();i++){
cin>>a[i];
}
for(int i=0;i<s.size();i++){
b[s[i]-'0']++;
for(int i=0;i<=b[i];i++){
for(int j=1;j<=a[i];j++){
cout<<i<<" ";
}
}
}
return 0;
}
改得一塌糊涂。。。
int a[10];
string s;
getline(cin,s);
for(int i=0;i<s.size();i++){
a[s[i]-'0']++;
}
for(int i=0;i<=9;i++){
for(int j=1;j<=a[i];j++){
cout<<i<<" ";
}
}
李显晨在2021-03-27 20:27:40追加了内容
@武建豪