码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2015-08-25 23:50:14      阅读:226      评论:0      收藏:0      [点我收藏+]

标签:iostream   数据   应用   计算机   手机   

 题目要求:

技术分享


输入代码:

#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 刷题---串的简单处理

标签:iostream   数据   应用   计算机   手机   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!