贺州学院ivy


私信TA

用户名:Livy

访问量:21442

签 名:

好好学习,天天向上,汝何秀?

等  级
排  名 130
经  验 7406
参赛次数 5
文章发表 25
年  龄 0
在职情况 学生
学  校 贺州学院
专  业 软件工程

  自我简介:

假猪套天下第一

解题思路:

输入一个字符串,在遇到非*号之前,把*号都添加到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分

1 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换

万能编程问答

代码解释器

  评论区