题目:
思路:
用四个整形变量统计四个字母出现的个数,按gplt顺序输出,每输出一个字母,这个字母的个数就减一,为0了就不输出。一开始我把第二个循环里面的if都写成else if了,结果输出gggggppllllllttt。。。因为if和else if 只会执行其中之一。。。
上代码:
#include <iostream> using namespace std; int main() { string s; int g=0,p=0,l=0,t=0; cin>>s; for(int i=0;i<s.length();i++) { if(s[i]=='g'||s[i]=='g') { g++; }else if(s[i]=='p'||s[i]=='p'){ p++; }else if(s[i]=='l'||s[i]=='l'){ l++; }else if(s[i]=='t'||s[i]=='t'){ t++; } } while(g>0||p>0||l>0||t>0){ if(g>0){ cout<<'g'; g--; }if(p>0){ cout<<'p'; p--; }if(l>0){ cout<<'l'; l--; }if(t>0){ cout<<'t'; t--; } } return 0; }
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/c-cdevelopment/605276.html