专栏文章
题解:P14357 [CSP-J 2025] 拼数 / number(民间数据)
P14357题解参与者 30已保存评论 41
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 40 条
- 当前快照
- 1 份
- 快照标识符
- @minfs07l
- 此快照首次捕获于
- 2025/12/02 01:41 3 个月前
- 此快照最后确认于
- 2025/12/02 01:41 3 个月前
思路
这道题可以直接使用暴力枚举,我们先用 将字符串存起来,再遍历一遍 ,如果当前 的 ASCII 码再字符 0 到字符 9 之间,则为数字,存入一个 数组中,每次将数字位减去字符 0 再插入 数组,最后排序后再倒序输出。
代码:
CPP#include <bits/stdc++.h>
using namespace std;
string s;int a[1000005],cnt;//s 为题意需要,a为记录数组,cnt为当前到哪个序号以及 a 数组长度
int main(){
// freopen("number.in" ,"r" ,stdin);
// freopen("number.out","w",stdout);
cin >> s;
for (int i = 0;i < s.size();i++) if (s[i] <= '9' && s[i] >= '0') a[++cnt] = s[i]-'0';//如果当前位置上的字符在 '0' 到 '9' 之间,则插入 a 数组,对应序号++
sort(a+1,a+cnt+1);//排序
for (int i = cnt;i >= 1;i--) cout << a[i];//倒序输出
return 0;
}
相关推荐
评论
共 41 条评论,欢迎与作者交流。
正在加载评论...