问题标题: 酷町堂:1093   书名规范管理

0
0
已解决
邵逸儒
邵逸儒
中级天翼
中级天翼

1093   书名规范管理

题目描述 Description

一图书馆在记录书名的时候总是按照一定的规范管理的,其规范如下: 书名只由字母、数字及连字符(-)组成,且如果书名的第一个字符是字母,则必为大写字母,而其他的字母都是小写字母。且每本书名单词与单词之间需用连字符连接,形成一个完整的书名。如果你是图书馆管理员,请将N本书的书名按照规范整理出来。 如:the-old-Man-and-the-sea,应整理成:The-old-man-and-the-sea。

输入描述 Input Description

输入为N+1行:
第一行为一个整数N,表示有N本书名需要规范整理,书名每个单词之间需用连字符连接(n≤100)。
接下来N行,每行一串字符,且长度不超过50,表示未进行规范整理的书名。

输出描述 Output Description

输出为N行,每行一串字符,对应输入的书名的规范写法。

样例输入 Sample Input

 

1
the-old-Man-and-the-sea

样例输出 Sample Output

 

The-old-man-and-the-sea

数据来源 Source

酷町堂原创


0
已采纳
程天瑞
程天瑞
资深守护
资深守护
tring s[101],ss;//这个是全局变量 
    定义整型 i,n,t,j,k,l;
    输入>>n;
    循环(定义 i=1;i<=n;++i)输入s[i];
    循环(定义 i=1;i小于等于n;++i)
    {
        ss=s[i];
        如果(ss[0]大于等于'a'&&ss[0]小于等于'z')
            ss[0]减=32;
        l=ss.size();
        循环(定义 j=1;j小于l;++j)
        如果(ss[j]大于等于'A'&&ss[j]小于等于'Z')
            ss[j]加=32;
        s[i]=ss;
    }
    循环(i=1;i小于等于n;加加i)输出<<s[i]<<换行;

 

0
0
栾峻岩
栾峻岩
初级天翼
初级天翼

先判断第一个字符是不是小写字符,是,ASCLL加上32.

再判断:

for(int i=1;i<l;i++)

如果i字符是不是大写字符,是,ASCLL减去32.

最后输出这个字符串,并换行。

0
颜咏春
颜咏春
中级光能
中级光能

1.判断第一个字符是不是小写字符

2.如果是,ASCLL加上32.

3.再判断:for(int i=1;i<l;i++)

4.如果i字符是不是大写字符,是,ASCLL减去32.

5.最后输出这个字符串,并换行。

6.注意程序中头文件,及分号别忘了

 

望采纳

 

0
杨陈卓
杨陈卓
新手天翼
新手天翼
string s[101],ss;//这个是全局变量 
    定义整型 i,n,t,j,k,l;
    输入>>n;
    循环(定义 i=1;i<=n;++i)输入s[i];
    循环(定义 i=1;i小于等于n;++i)
    {
        ss=s[i];
        如果(ss[0]大于等于'a'&&ss[0]小于等于'z')
            ss[0]减=32;
        l=ss.size();
        循环(定义 j=1;j小于l;++j)
        如果(ss[j]大于等于'A'&&ss[j]小于等于'Z')
            ss[j]加=32;
        s[i]=ss;
    }
    循环(i=1;i小于等于n;加加i)输出<<s[i]<<换行;

头文件

#include<iostream>
#include<cstring>

 

我要回答