原题链接:字符串中间和后边*号删除
解题思路:
输入一个字符串,在遇到非*号之前,把*号都添加到a字符串中,搞定前导*后,直至字符串尾,只添加非*号字符
注意事项:
如样例: ****a*bc*def*g**** 前导*号为: s[0]-----s[3]的四个* 如样例: a*bc*def*g**** 没有前导*号
参考代码:
#include<iostream> #include<string> using namespace std; int main(){ string s,a; cin >> s; int k = s.size(); bool flag1 = 1;//控制前导*号的,为1,说明当前字符还是前导*,可以继续添加,否则就不添加了 for (int i = 0; i < k; i++){ //判断不是前导*了,之后就不再添加*号了,遇到*号不添加 if (s[i] != '*'&&flag1){ flag1 = 0; a += s[i]; continue; } //还是前导*号的时候,遇到*都添加 else if (flag1){ a += s[i]; } 不再是前导*号了,就只添加除了*号以外的字符 else{ if (s[i] != '*')a += s[i]; } } cout << a; system("pause"); return 0; }
0.0分
0 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复