您的位置:首页 > 其它

PAT乙级-1043. 输出PATest(20)

2018-01-19 15:07 357 查看

1.题目



2.分析过程

整个题目不难,就是需要统计出PATest字符串中各个字母出现的次数,然后按照递减并且顺序的方式进行输出。

3.代码

#include <iostream>
#include <string>
using namespace std;

int main() {

string s;
int a=0, b=0, c=0, d=0, e=0, f=0;// 声明六个变量分别统计六个字母出现的次数
cin >> s;
int lena = s.length();
for (int i = 0; i < lena; i++)
{
if (s[i] == 'P')a++;
else if (s[i] == 'A') b++;
else if (s[i] == 'T')c++;
else if (s[i] == 'e')d++;
else if (s[i] == 's')e++;
else if (s[i] == 't')f++;
}

for (int i = 0; i < lena; i++)
{
//不能只写if(a--),因为a小于0时if(a--)也成立
if (a-->=1)
{
cout<<"P";
}
if (b-->=1)
{
cout<<"A";
}
if (c-->=1)
{
cout<<"T";
}
if (d-->=1)
{
cout<<"e";
}
if (e-->=1)
{
cout<<"s";
}
if (f-->=1)
{
cout<<"t";
}
}
return 0;
}


4.我㞞了

如果没有这位老哥点醒我,我恐怕还在冥思苦想一些数据结构的美妙,还在不停想——呀,这有一个队列啊,啊,那有一个集合,诶?这里是不是一个栈?这道题让我明白了什么是大道至简。

感谢这位老哥
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: