输入一个字符串,将其中的数字字符移动到非数字字符之后,并保持数字字符贺非数字字符输入时的顺序。
代码:
#include <cstdio>
#include <queue>
using namespace std;
int main() {
char str[200];
fgets(str, 200, stdin);//读入一行字符串
queue<char> numQue;//数字队列
queue<char> chQue;//字符队列
for (int i = 0; str[i] != '\n'; ++i) {
if (str[i] >= '0' && str[i] <= '9') {
numQue.push(str[i]);//数字入队
}
else {
chQue.push(str[i]);//字符入队
}
}
//将数字移到非数字字符之后
while (!numQue.empty()) {
chQue.push(numQue.front());
numQue.pop();
}
while (!chQue.empty()) {
printf("%c", chQue.front());
chQue.pop();
}
}
运行结果: