今日随机练习2--大小写转换

题目 1204: 

大小写转换

时间限制: 1s 内存限制: 128MB 提交: 2375 解决: 1366

题目描述

读入一些字符串,将其中的小写字母转成大写字母(其他字符不变)。

输入格式

输入为多行,每行为一个字符串,字符串只由字母和数字组成,长度不超过80。输入以“End of file”结束。

输出格式

对于每行输入,输出转换后的字符串。

样例输入

Hello

ICPC2004

12345abcde

样例输出

HELLO

ICPC2004

12345ABCDE

解法1:用string来实现

#include <iostream>   // 包含输入输出流库
using namespace std;  // 使用命名空间std

int main() {          // 主函数

    string s;         // 声明一个字符串s

    while (getline(cin, s)) {  // 不断从标准输入流(cin)中读取一行字符串,存储在变量s中,并执行循环体

        if (s == "End of file") {  // 如果读入的字符串是"End of file",则跳出循环

            break;

        }

        int i = 0;       // 初始化计数器i

        while (s[i] != '\0') {  // 如果当前字符不是字符串结束符'\0',则执行循环体

            if (s[i] >= 'a' && s[i] <= 'z') {  // 如果当前字符是小写字母,执行if语句中的语句块

                s[i] = s[i] - 'a' + 'A';  // 将小写字母转换为大写字母

            }

            i++;  // 计数器i自增

        }

        cout << s << endl;  // 将转换后的字符串输出到新的一行中

    }

    return 0;          // 退出程序

}

 解法2:用string库文件中的里面的toupper(不需要判断字母大小写了,直接全部大写)

如果还是觉得不保险在topper上面可以添加一个islower(s[i])来判断是不是小写。

#include <iostream>
#include <string>
using namespace std;

int main() {
    string s;
    while (getline(cin, s)) {
        if (s == "End of file") {
            break;
        }
        for (int i = 0; i < s.length(); i++) {
            s[i] = toupper(s[i]);//string中的upper函数直接变大写
        }
        cout << s << endl;
    }
    return 0;
}

解法3:用char实现

#include <iostream>
#include <cstring>
using namespace std;

int main() {
    char s[81];
    while (cin.getline(s, 81)) {
        if (strcmp(s, "End of file") == 0) {
            break;
        }
        for (int i = 0; i < strlen(s); i++) {
            if (s[i] >= 'a' && s[i] <= 'z') {
                s[i] = s[i] - 'a' + 'A';
            }
        }
        cout << s << endl;
    }
    return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值