已知一个掺杂了多个数字字符的中文名拼音,去掉所有数字字符之后,形式为“名”+空格+“姓”;并且名和姓的首字母大写,其他小写,要求输出姓名全拼,且全为小写。(后附详细样例说明)
【输入形式】
一个字符串,长度小于100,含一个空格,如3N32a4ns234ha89n0 Z23hon4g66
【输出形式】
去掉字符串种的所有数字字符,形成形式为”名“+空格+”姓“的中文名之后,再转换为全为小写的姓名全拼,如zhongnanshan
【样例输入】
3N32a4ns234ha89n0 Z23hon4g66
【样例输出】
zhongnans
思路:首先定义string变量a、b,分别存储空格前和空格后的字符串,然后获取字符串长度,然后依次遍历两个string变量a和b,如果为字母,则存入char变量xin、ming中,然后输出的时候xin和ming字符数组里面的字母遍历,以小写字母输出即可。
#include <iostream>
#include <string>
using namespace std;int main()
{string a,b;int A,B,i,j;char xin[101],ming[101];cin >> a >> b;A = a.length();B = b.length();//cout << A<< " ";//cout <<B;//cout << endl;b.copy(xin,B,0);a.copy(ming,A,0);for(j=0;j<B;j++){if((xin[j]>= 'a' && xin[j]<='z') || (xin[j]>= 'A' && xin[j]<='Z')){if(xin[j]>= 'A' && xin[j]<='Z'){xin[j] = xin[j] + 32;}cout << xin[j];}}//cout << endl;for(i=0;i<A;i++){if((ming[i]>= 'a' && ming[i]<='z') || (ming[i]>= 'A' && ming[i]<='Z')){if(ming[i]>= 'A' && ming[i]<='Z'){ming[i] = ming[i] + 32;}cout << ming[i];}}return 0;
}
运行结果: