解题思路:
对比相邻两个数字,前者比后者小则去除,若无则去除最后一位
注意事项:
s.erase(x,y)函数:在字符串第x个位置删除y个字符。
参考代码:
#include<iostream> #include<string> using namespace std; int main() { int time,i,flag; string s; cin >> s >> time; if (time >= s.size()) { cout << "0\n"; return 0; } while (time--) { flag = 0; for (i = 0; i < s.size()-1; i++) { if (s[i] < s[i + 1]) { s.erase(i, 1); flag = 1; break; } } //flag为1表示在字符串间有可以删去的字符,反之,表示需要从末尾删去 if (flag == 0) { s.erase(s.size()-1,1); } } cout << s << endl; }
0.0分
0 人评分
程序员的表白 (C语言代码)浏览:1576 |
C语言训练-大、小写问题 (C语言代码)浏览:2421 |
简单的a+b (C语言代码)浏览:719 |
WU-格式化数据输出 (C语言代码)浏览:1818 |
求圆的面积 (C语言代码)浏览:1756 |
矩阵加法 (C语言代码)浏览:1768 |
C语言程序设计教程(第三版)课后习题10.2 (C语言代码)浏览:1483 |
1118(求助_已解决)浏览:351 |
Tom数 (C语言代码)浏览:581 |
C语言程序设计教程(第三版)课后习题7.3 (C语言代码)浏览:420 |