Menu
CoddyTech

转换为大写

本课属于 Coddy C 学习旅程的“逻辑与流程”单元。第 23 课,共 63 课。

challenge icon

挑战

简单

在上一课的文本工具程序基础上,添加转换为大写的功能。你的程序应该:

  1. 打印:Enter a sentence: ,提示用户输入一个短句(末尾不换行)
  2. 声明一个名为 sentence、包含 200 个元素的字符数组,用于存储输入内容
  3. 使用 scanf 和 %s 格式说明符读取用户输入的一个单词
  4. 按以下格式打印存储的单词:You entered: [word]
  5. 使用 strlen() 计算这个单词的字符总数
  6. 按以下格式打印字符数:Character count: [count]
  7. 使用 strlen() 按以下格式打印长度:Length: [length]
  8. 使用循环遍历单词中的每个字符,并统计元音字母
  9. 检查每个字符是否为元音字母(a、e、i、o、u),包括小写和大写形式
  10. 持续累计找到的元音字母数量
  11. 按以下格式打印元音字母数量:Vowel count: [count]
  12. 打印 Uppercase: ,然后使用循环和 toupper() 函数将单词中的每个字符转换为大写并打印

请记得包含 <string.h> 头文件,以便使用 strlen() 函数;还要包含 <ctype.h> 头文件,以便使用 toupper() 函数。

关于 toupper():
<ctype.h> 中的 toupper() 函数会将单个字符转换为对应的大写形式。如果字符已经是大写字母,或者不是字母,则会原样返回。
示例:toupper('a') 返回 'A',而 toupper('Z') 返回 'Z'。
你可以在循环中使用它,一次转换一个字符:printf("%c", toupper(sentence[i]));

重要:提示 Enter a sentence: 后面不应换行。请使用 printf("Enter a sentence: ");,不要添加 \n。

你的输出应按以下格式显示结果:

Enter a sentence: You entered: [word]
Character count: [count]
Length: [length]
Vowel count: [count]
Uppercase: [WORD]

例如,如果输入为:

Programming

你的输出应为:

Enter a sentence: You entered: Programming
Character count: 11
Length: 11
Vowel count: 3
Uppercase: PROGRAMMING

这个挑战在上一课的基础上,使用 <ctype.h> 库中的 toupper() 函数添加了转换为大写的功能。你需要使用循环遍历字符串中的每个字符,将其转换为大写,然后打印转换后的结果。

亲手试试

#include <stdio.h>
#include <string.h>

int main() {
    printf("Enter a sentence: \n");
    
    char sentence[200];
    scanf("%s", sentence);
    
    printf("You entered: %s\n", sentence);
    
    int char_count = strlen(sentence);
    printf("Character count: %d\n", char_count);
    
    int length = strlen(sentence);
    printf("Length: %d\n", length);
    
    int vowel_count = 0;
    for (int i = 0; i < strlen(sentence); i++) {
        char c = sentence[i];
        if (c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u' ||
            c == 'A' || c == 'E' || c == 'I' || c == 'O' || c == 'U') {
            vowel_count++;
        }
    }
    
    printf("Vowel count: %d\n", vowel_count);
    
    return 0;
}

逻辑与流程中的所有课

自己练习: C 在线编译器