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

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

C测验 - 103 | 问题3

简介

本题是一道C语言编程题,需要你编写一个程序,该程序将一个字符串中的大写字母转换成小写字母,并输出转换后的结果。

题目描述

给定一个字符串,你需要编写一个函数将字符串中的所有大写字母转换成小写字母,并输出转换后的结果。

具体要求如下:

  • 函数名为 toLower ,函数原型为 void toLower(char *str)
  • 字符串长度不超过 1000 个字符。
  • 字符串中只包含大小写字母、数字和符号。
  • 注意空格和换行符不需要进行操作。
示例输入输出
输入示例
HELLO WORLD
输出示例
hello world
实现思路

实现的思路很简单,只需要遍历字符串中的每一个字符,如果是大写字母则将其转换成小写字母即可。

具体实现细节如下:

  1. 声明一个指针变量 p 指向字符串 str 的起始地址;
  2. 对字符串 str 进行循环遍历,每一次取出一个字符 ch,并判断 ch 是否为大写字母;
  3. 如果 ch 是大写字母,则将它转换成小写字母;
  4. 将转换后的 ch 存入原位置。
参考代码

下面给出 toLower 函数的完整代码实现:

void toLower(char *str)
{
    char *p = str;
    while (*p != '\0') {
        if (*p >= 'A' && *p <= 'Z')
            *p += 'a' - 'A';
        p++;
    }
}
测试代码

可以使用以下代码对 toLower 函数进行测试:

#include <stdio.h>

int main()
{
    char str[1000];
    fgets(str, 1000, stdin);
    toLower(str);
    printf("%s", str);
    return 0;
}

运行上述测试代码,输入字符串并按回车,程序将输出转换后的字符串。

结论

本题是一道基础的字符串操作题,考察考生对 C 语言字符串操作的熟悉程度。通过完成本题,你可以加深对 C 语言字符串操作的理解,同时也可以提高对指针的使用技能。