//输入一个字符串,将该字符串分为数字、字母、其他字符三个部分输出
//输入:Thdad29#@12aH;77 输出:ThdadaH,291277,#@(一个类型一行输出)
代码:
#include <cstdio>
#include <queue>
using namespace std;
int main() {
queue<char> letter;//存字母的队列
queue<char> num;//存数字的队列
queue<char> other;//存其他字符的队列
char str[200];
fgets(str, 200, stdin);
//存入相应队列
for (int i = 0; str[i] != '\n'; ++i) {
if ((str[i] >= 'a' && str[i] <= 'z') || (str[i] >= 'A' && str[i] <= 'Z'))
letter.push(str[i]);
else if (str[i] >= '0' && str[i] <= '9')
num.push(str[i]);
else
other.push(str[i]);
}
//输出
while (!letter.empty()) {
printf("%c", letter.front());
letter.pop();
}
printf("\n");
while (!num.empty()) {
printf("%c", num.front());
num.pop();
}
printf("\n");
while (!other.empty()) {
printf("%c", other.front());
other.pop();
}
printf("\n");
}
运行结果: