HDU2026 首字母变大写文本处理

Posted 海岛Blog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HDU2026 首字母变大写文本处理相关的知识,希望对你有一定的参考价值。

首字母变大写
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 111696 Accepted Submission(s): 60748

Problem Description
输入一个英文句子,将每个单词的第一个字母改成大写字母。

Input
输入数据包含多个测试实例,每个测试实例是一个长度不超过100的英文句子,占一行。

Output
请输出按照要求改写后的英文句子。

Sample Input
i like acm
i want to get an accepted

Sample Output
I Like Acm
I Want To Get An Accepted

Author
lcy

Source
C语言程序设计练习(四)

问题链接HDU2026 首字母变大写
问题简述:(略)
问题分析
  按Markdown格式重写了题解,旧版题解参见参考链接。
  这个是文本处理问题,可以作为文本处理的基础训练。
  C语言程序应该尽量使用库函数,这些函数在C++语言程序中也可以使用。C语言程序中,函数gets()是不被推荐使用的,这里用函数fgets()来实现。其中,程序的一些细节需要考虑,参见程序代码。相对而言,用函数gets()比起函数fgets()来,程序代码要简单一些。
  给出C和C++两种语言的题解程序。
程序说明:(略)
参考链接HDU2026 首字母变大写【入门】
题记:(略)

AC的C语言程序如下:

/* HDU2026 首字母变大写 */

#include <stdio.h>
#include <ctype.h>

#define N 100 + 1
char s[N];

int main(void)

    int i;
    while (fgets(s, N, stdin) != NULL) 
        for (i = 0; s[i] != '\\n'; i++)
            if (i == 0) 
                if (islower(s[i])) s[i] = toupper(s[i]);
             else 
                if ((s[i - 1] == ' ' || s[i - 1] == '\\t') && islower(s[i]))
                    s[i] = toupper(s[i]);
            
        s[i] = '\\0';
        puts(s);
    

    return 0;

AC的C++语言程序如下:

/* HDU2026 首字母变大写 */

#include <iostream>
#include <string>
#include <cctype>

using namespace std;

int main()

    string s;
    while(getline(cin, s)) 
        if(islower(s[0])) s[0] = toupper(s[0]);
        for (int i = 1, len = s.length(); i < len; i++) 
            if((s[i - 1] == ' ' || s[i - 1] == '\\t') && islower(s[i]))
                s[i] = toupper(s[i]);
        

        cout << s << endl;
    

    return 0;

以上是关于HDU2026 首字母变大写文本处理的主要内容,如果未能解决你的问题,请参考以下文章

hdu 2026 首字母变大写

HDU 2026 首字母变大写

hdu 2026 首字母变大写

首字母变大写(hdu2026)

我看书JavaScript将每个单词首字母变大写

excel一键大写字母变大写