首页 > 其他 > 详细

OJ 刷题---串的简单处理

时间:2015-08-25 23:49:59      阅读:363      评论:0      收藏:0      [点我收藏+]

 题目要求:

技术分享


输入代码:

#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;
}


运行结果:

技术分享

版权声明:本文为博主原创文章,未经博主允许不得转载。

OJ 刷题---串的简单处理

原文:http://blog.csdn.net/linhaiyun_ytdx/article/details/47984925

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!