📜  C测验– 111 |问题2(1)

📅  最后修改于: 2023-12-03 15:14:25.998000             🧑  作者: Mango

C测验-111 | 问题2

简介

本题需要程序员完成一个简单的C程序,从标准输入中读入一个字符串,将其中的所有小写字母转换成大写字母后,将转换后的字符串输出到标准输出中。

要求
  1. 程序需要从标准输入中读入一个字符串,字符串长度不超过100个字符。
  2. 程序需要将字符串中的所有小写字母转换成大写字母。
  3. 程序需要将转换后的字符串输出到标准输出中。
示例
输入
Hello, World!
输出
HELLO, WORLD!
代码实现
#include <stdio.h>
#include <ctype.h>
#include <string.h>

int main()
{
    char str[101];
    int i;

    fgets(str, 101, stdin);
    for (i = 0; i < strlen(str); i++) {
        if (isalpha(str[i]) && islower(str[i])) {
            str[i] = toupper(str[i]);
        }
    }
    printf("%s", str);

    return 0;
}
代码解释
  1. fgets(str, 101, stdin):从标准输入中读入一个字符串,最多读入101个字符,包括结尾的'\0'。
  2. for (i = 0; i < strlen(str); i++):遍历字符串中的所有字符。
  3. if (isalpha(str[i]) && islower(str[i])):判断当前字符是否为小写字母。
  4. str[i] = toupper(str[i]):将当前字符转换成大写字母。
  5. printf("%s", str):输出转换后的字符串。
总结

本题主要考察程序员的字符串处理能力,重点在于字符串的读入和遍历,以及字符的大小写转换。程序员需要熟练掌握相关的C库函数,如fgets、strlen、isalpha、islower、toupper和printf等。