C++刷题——1938: 首字母变大写

Description

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

Input

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

Output

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

(1)方法一
/* All rights reserved.
 * 文件名称:test.cpp
 * 作者:陈丹妮
 * 完成日期:2015年 5 月 21 日
 * 版 本 号:v1.0
 */
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
    char a[100];
    while(gets(a))
    {
        int i;
        a[0]=char(a[0]-32);
        for(i=0;a[i]!='\0';i++)
        {
            if(a[i]==' ')
                a[i+1]=char(a[i+1]-32);
        }
        for(i=0;a[i]!='\0';i++)
        {
            cout<<a[i];
        }
        cout<<endl;
    }
    return 0;
}
(2)方法二
#include<iostream>
#include <cstdio>
using namespace std;
int main()
{
    char a[100];
    int i;
    while(gets(a))
    {
        if(a[0]>='a'&&a[0]<='z')
            a[0]-=32;
        for(i=0; a[i]!='\0'; i++)
        {
            if(a[i]==' '&&a[i+1]>='a'&&a[i+1]<='z')
                a[i+1]-=32;
        }
        for(i=0; a[i]!='\0'; i++)
        {
            cout<<a[i];
        }
        cout<<endl;
    }
    return 0;
} 

学习心得:不要忽视一些小细节,可能他就是影响全局的关键所在,要严谨细心,继续努力!

时间: 2024-10-27 13:03:40

C++刷题——1938: 首字母变大写的相关文章

HDOJ 2026首字母变大写

首字母变大写 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 30463    Accepted Submission(s): 17060 Problem Description 输入一个英文句子,将每个单词的第一个字母改成大写字母. Input 输入数据包含多个测试实例,每个测试实例是一个长度不超过100的英文句子,占一行. Outp

1165: 零起点学算法72——首字母变大写

1165: 零起点学算法72--首字母变大写 Time Limit: 1 Sec  Memory Limit: 64 MB   64bit IO Format: %lldSubmitted: 705  Accepted: 439[Submit][Status][Web Board] Description 输入一个英文句子,将每个单词的第一个字母改成大写字母. Input 输入数据包含多个测试实例,每个测试实例是一个长度不超过100的英文句子,占一行. Output 请输出按照要求改写后的英文句

hdu 2026 首字母变大写(java)

问题: 将小写换成大写,之前用a=(char)(a+32)的形式,并没有效果,原因不明. 有函数:a[0]=Character.toUpperCase(a[0]);可以用. 首字母变大写 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 37323    Accepted Submission(s): 20817 Problem Desc

首字母变大写(杭电2026)

/*首字母变大写 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 */ #include<stdio.h> #include<ctype.h> #include<string.h>

首字母变大写

首字母变大写 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 32066 Accepted Submission(s): 17876 Problem Description 输入一个英文句子,将每个单词的第一个字母改成大写字母. Input 输入数据包含多个测试实例,每个测试实例是一个长度不超过100的英文句子,占一行. Output 请输出

首字母变大写脚本

描述:把用户输入的不规范的英文名字,变为首字母大写,其他小写的规范名字,输入:['adam', 'LISA', 'barT'],输出:['Adam', 'Lisa', 'Bart']. 1 'use strict'; 2 3 function normalize(arr) { 4 return arr.map(function(x){ return x.toLowerCase();}).map(function(x){ return x[0].toUpperCase() + x.substrin

HDU 2026 首字母变大写

1 #include<cstdio> 2 #include<cstring> 3 #include<algorithm> 4 using namespace std; 5 int main() 6 { 7 char s[105]; 8 while(gets(s)) 9 { 10 int len = strlen(s); 11 printf("%c", s[0]-32); //小写字母的ASCII比对应的大写字母大32 12 for(int i = 1

首字母变大写(stringstream的应用)

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 看见这个题目我想起流处理,更加方便,另外,还要注意输出格式.

首字母变大写(hdu2026)

输入方式:直接循环输入带有空格的未知长度的字符串. 思考:直接循环输入带有空格的未知长度的字符串,用while(gets_s())函数,循环内外不用getchar()函数.(注意,每次字符串以整体输入) #include<stdio.h> #include<cstring> int main() { int n; char d; char c[101]; while (gets_s(c)) { d = strlen(c); for (int i = 0; i<d; i++)