输入一个字符串(包括大小写字母和空格),除去空格输出在字符串中出现过的字符。

输入格式:

输入一个字符串

输出格式:

输出在字符串中出现过的字符,每个字符打印一次,按字母顺序打印(注意:空格不算,大小写字符算不同字符)。打印时按字母的顺序,大写在前,小写在后。

输入样例:

在这里给出一组输入。例如:

1
This is a good hat

输出样例:

在这里给出相应的输出。例如:

1
Tadghiost

思路

题目给定字符串带空格,使用getline输入

遍历字符串,利用数组记录各个字符出现的次数

再按照题目要求先输出大写,再输出小写即可

代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>

using namespace std;

int main() {
string str;
getline(cin, str); //带空格输入
int book[200] = {0}; //0
for(int i = 0; i < (int)str.size(); i++) { //记录出现的各个字符次数
book[(int)str[i]]++;
}
for(int i = 'A'; i <= 'Z'; i++) { //先输出大写字母
if(book[i] > 0) {
cout << (char)i; //i是int,需要转换为char输出
}
}
for(int i = 'a'; i <= 'z'; i++) { //在输出小写字母
if(book[i] > 0) {
cout << (char)i; //i是int,需要转换为char输出
}
}
return 0;
}