📜  C测验– 108 |问题3(1)

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

C测验- 108 | 问题3

介绍

本测验是针对 C 语言的学习者设计的,旨在考察对于基础语法的掌握以及对于指针的理解。问题3要求完成一个函数,可以将一个字符串的所有大写字母转换成小写字母。

题目描述

实现函数:

void toLowerCase(char *str)

将输入的字符串中所有大写字母转换成小写字母。

示例:

输入: "HeLLo, wORlD!"
输出: "hello, world!"

注意

  • 输入字符串只包含大小写英文字母和标点符号。
  • 输入字符串长度 <= 100。
思路分析

题目要求我们将字符串中的大写字母转换成小写字母,所以我们需要一个循环遍历字符串 str 中的每个字符,如果当前字符是大写字母,我们就将其转换成小写字母即可。

在 C 语言中,大写字母与小写字母的 ASCII 码值相差固定的 32,所以我们只需要将 ASCII 码值在 65 到 90 (大写字母的 ASCII 码值范围)的字符加上 32 就可以得到对应的小写字母的 ASCII 码值。

代码实现
void toLowerCase(char *str) {
    int i = 0;
    while (str[i]) { // 遍历整个字符串
        if (str[i] >= 65 && str[i] <= 90) { // 如果当前字符是大写字母
            str[i] += 32; // 将其转换成小写字母
        }
        i++;
    }
}
总结

本题考察了对于字符串的基本操作以及对于 ASCII 码表的理解,这是 C 语言中非常基础的内容。实际上,在实际的程序设计中,字符串操作非常常见,因此对于字符串的操作要熟练掌握。