解题思路:
对比相邻两个数字,前者比后者小则去除,若无则去除最后一位
注意事项:
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 人评分
IP判断 (C语言代码)浏览:1414 |
C二级辅导-进制转换 (C语言代码)浏览:822 |
妹子杀手的故事 (C语言代码)浏览:679 |
C语言程序设计教程(第三版)课后习题8.5 (C语言代码)浏览:583 |
字符串比较 (C语言代码)答案错误????浏览:596 |
2003年秋浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:746 |
【偶数求和】 (C语言代码)浏览:639 |
C语言程序设计教程(第三版)课后习题8.1 (C语言代码)浏览:1242 |
C语言程序设计教程(第三版)课后习题9.1 (C语言代码)浏览:681 |
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:543 |