标签:EOF int 208 len 空格 Dubstep CodeForce https
原题链接:https://codeforces.com/problemset/problem/208/A
学习链接:https://blog.csdn.net/cs_zlg/article/details/7782625
#include <bits/stdc++.h>
using namespace std;
//接收一行字符串,然后把中间的WUB删除(换成空格)
int main(){
char s[205];
int len; //数组的实际存了值的长度
int flag; //保存最后一个有效单词的最后一个字母的位置
while(scanf("%s", s) != EOF){
//EOF是啥忘了,好像是表示在代码还未输入结束的时候
len = strlen(s);
// cout << "len = " << len << endl;
for(int i = 0; i < len; i++){
//虽然循环只到有数字的位置,但是数组开的大,所以不会越界
if(s[i] == 'W' && s[i + 1] == 'U' && s[i + 2]=='B'){
//WUB的位置全部置数字字符
s[i] = s[i + 1] = s[i + 2] = '0';
//跳转到WUB后面的位置,本应该 + 3,但是for循环还有一个 ++
i += 2;
}else {
//获得falg的值
flag = i;
}
}
//输出环节
for(int i = 0; i < len; i++){
if(s[i] != '0'){
if(i != flag){
//如果还没有循环到最后的地方
printf("%c", s[i]);
}else {
printf("%c\n", s[i]);
//因为是最后的地方了,所以要跳出循环了(换行)
break;
}
}else if(i > 0 && s[i - 1] != '0'){
//有个默认前提,因为是上面这个if的分支,
//默认前提:s[i] == '0'
printf(" ");
//这个的好处就是不会输出最前面的那个空格
i += 2;
}
}
}
return 0;
}
标签:EOF,int,208,len,空格,Dubstep,CodeForce,https 来源: https://www.cnblogs.com/Selma003/p/15457890.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。