题目要求:
输入代码:
#include<iostream> #include<cstdio> using namespace std; int main() { char str[100]; int i; while(cin.getline(str,100,'\n')) { for(i=0; str[i]!='\0'; i++) //把每个单词的首字母变为大写 { if(str[i]!=' ') { if(str[i]>='a'&&str[i]<='z') { str[i]-=32; break; } else break; } } for(i=i+1; str[i]!='\0'; i++) //把每个单词的首字母变为大写 { if(str[i]==' ') { if(str[i+1]>='a'&&str[i+1]<='z'&&str[i+1]!='\0') str[i+1]-=32; } } for(i=0; str[i]!='\0'; i++) { if(str[i]>='0'&&str[i]<='9')//字母+数字类型的处理 { if((str[i+1]>='a'&&str[i+1]<='z')||(str[i+1]>='A'&&str[i+1]<='Z')) { cout<<str[i]<<'_'; } else cout<<str[i]; } else if((str[i]>='a'&&str[i]<='z')||(str[i]>='A'&&str[i]<='Z'))//数字+字母类型的处理 { if(str[i+1]>='0'&&str[i+1]<='9') { cout<<str[i]<<'_'; } else cout<<str[i]; } else if(str[i]==' '&&str[i+1]==' ')//多个空格的缩距处理 { continue ;//直接跳过空格的地方 } else cout<<str[i]; } cout<<endl; } return 0; }
运行结果:
版权声明:本文为博主原创文章,未经博主允许不得转载。
原文地址:http://blog.csdn.net/linhaiyun_ytdx/article/details/47984925