题目描述
读入一个字符串,将该字符串分为字母、数字、其他字符三个部分输出。
输入格式
一个字符串。
输出格式
共三行,第一行输出字母部分,第二行输出数字部分,第三行输出其他字符部分。
字符的相对顺序不变。
数据范围
字符串长度不超过 100。
样例
输入样例:
Thdad29#@12aH;77
输出样例:
ThdadaH
291277
@;
C++ 代码
#include<iostream>
#include<cstring>
using namespace std;
const int N=110;
char s[N],num[N],letter[N],other[N];// 原字符串,数字,字母,其他字符
int main()
{
cin>>s;
int n=strlen(s);
int cnt1=0,cnt2=0,cnt3=0; // 字母,数字,其他字符个数
for(int i=0;i<n;i++)
{
if(s[i]>='a' && s[i]<='z' || s[i]>='A' && s[i]<='Z') letter[cnt1++]=s[i];
else if(s[i]>='0' && s[i]<='9') num[cnt2++]=s[i];
else other[cnt3++]=s[i];
}
// 输出字母
for(int i=0;i<cnt1;i++)
cout<<letter[i];
cout<<endl;
// 输出数字
for(int i=0;i<cnt2;i++)
cout<<num[i];
cout<<endl;
// 输出其他字符
for(int i=0;i<cnt3;i++)
cout<<other[i];
cout<<endl;
return 0;
}