1805 Problem B 首字母大写

本文介绍了一种将字符串中每个单词的首字母转换为大写的算法实现,使用C++编程语言。该算法能处理包含多种空白符分隔的单词,并提供了一个简单的示例程序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题 B: 首字母大写
时间限制: 1 Sec 内存限制: 32 MB
献花: 135 解决: 50
[献花][花圈][TK题库]
题目描述
对一个字符串中的所有单词,如果单词的首字母不是大写字母,则把单词的首字母变成大写字母。
在字符串中,单词之间通过空白符分隔,空白符包括:空格(’ ‘)、制表符(‘\t’)、回车符(‘\r’)、换行符(‘\n’)。
输入
输入一行:待处理的字符串(长度小于100)。
输出
可能有多组测试数据,对于每组数据,
输出一行:转换后的字符串。
样例输入
if so, you already have a google account. you can sign in on the right.
样例输出
If So, You Already Have A Google Account. You Can Sign In On The Right.

#include <iostream>
#include <fstream>
#include <string>
using namespace std;
const int MaxN = 101;
int main()
{
#ifdef _DEBUG
    ifstream cin("data.txt");
#endif // _DEBUG

    char str[MaxN];
    while (cin.getline(str,MaxN))
    {
        if ('a' <= str[0] && str[0] <= 'z')str[0] -= 32;
        for (int i = 1; str[i] != '\0'; ++i)
            if (('a' <= str[i] && str[i] <= 'z') && str[i - 1] == ' ')
                str[i] -= 32;
        cout << str << endl;;
    }
#ifdef _DEBUG
    cin.close();
    system("pause");
#endif // _DEBUG

    return 0;
}

/**************************************************************
    Problem: 1805
    User: Sharwen
    Language: C++
    Result: 升仙
    Time:0 ms
    Memory:1704 kb
****************************************************************/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值