字符串的简单处理
/*
串的处理 在实际的开发工作中,对字符串的处理是最常见的编程任务。本题目即是要求程序对用户输入的串进行处理。具体规则如下: 1. 把每个单词的首字母变为大写。 2. 把数字与字母之间用下划线字符(_)分开,使得更清晰 3. 把单词中间有多个空格的调整为1个空格。 */ #include #define N 200 using namespace std; void main() { char chuan[N];//存储字符串 gets(chuan);//获取包含空格的字符串 char frist;//存储首字符 //首字符是字母 if(chuan[0]>='a'&&chuan[0]<='z') frist=chuan[0]-32; //首字符是数字 if(chuan[0]>='0'&&chuan[0]<='9') frist=chuan[0]; cout<<frist; //调整除首字符外的字符 for(int i=1;i<N;i++) { //前位是空的字母 if(chuan[i-1]==''&&chuan[i]>='a'&&chuan[i]<='z') { frist=chuan[i]-32; cout<<chuan[i-1]<<frist; } //前位是字母的数字 if(chuan[i]>='0'&&chuan[i]<='9'&&chuan[i-1]>='a'&&chuan[i-1]<='z') cout<<"_"<<chuan[i]; //连续的数字或字母 if(chuan[i-1]>='0'&&chuan[i-1]<='9'&&chuan[i]>='0'&&chuan[i]<='9'||chuan[i-1]>='a'&&chuan[i-1]<='z'&&chuan[i]>='a'&&chuan[i]<='z') cout<<chuan[i]; //前位是数字的字母 if(chuan[i-1]>='0'&&chuan[i-1]<='9'&&chuan[i]>='a'&&chuan[i]<='z') cout<<"_"<<chuan[i]; } cout<<endl; } |