题目要求:
输入代码:
#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