C语言字符串替换:大小写字母反转转换
C语言字符串替换:大小写字母反转转换
本文提供一个C语言程序,实现将输入字符串中的大写字母按照'A'->'Z', 'B'->'Y', ..., 'Z'->'A'的规则进行替换,并在CodeBlocks环境下编译运行。
程序功能:
- 接收用户输入的一行字符串(最大长度不超过79个字符)。2. 将字符串中的大写字母按照上述规则进行反转替换,其他字符保持不变。3. 输出替换后的结果字符串。
**代码示例:**c#include <stdio.h>#include <string.h>
int main() { char str[80];
printf('请输入一个以回车结束的字符串(少于80个字符):'); fgets(str, sizeof(str), stdin); str[strcspn(str, '
')] = '�'; // 去除fgets读取的换行符
// 替换大写字母 for (int i = 0; i < strlen(str); i++) { if (str[i] >= 'A' && str[i] <= 'Z') { str[i] = 'Z' - (str[i] - 'A'); } }
// 输出结果 printf('替换后的字符串为:%s
', str);
return 0;}
代码解释:
#include <stdio.h>和#include <string.h>引入了C语言标准输入输出库和字符串处理库。2.char str[80];定义一个字符数组str用于存储输入的字符串,最大可容纳80个字符(包括结尾的空字符)。3.fgets(str, sizeof(str), stdin);从标准输入读取一行字符串到str中,最多读取sizeof(str)-1个字符,并在末尾添加空字符。4.str[strcspn(str, ' ')] = '�';找到字符串中第一个换行符的位置,并将其替换为空字符�,用于去除fgets函数读取字符串时可能包含的换行符。5. 使用for循环遍历字符串中的每个字符: -if (str[i] >= 'A' && str[i] <= 'Z')判断当前字符是否为大写字母。 - 如果是,则使用str[i] = 'Z' - (str[i] - 'A');进行替换,将当前大写字母转换为对应的反转字母。6. 最后使用printf('替换后的字符串为:%s ', str);输出替换后的字符串。
在CodeBlocks中运行程序:
- 打开CodeBlocks并创建一个新的C语言控制台应用程序项目。2. 将上述代码复制到
main.c文件中。3. 点击“编译并运行”按钮。4. 程序运行后,输入一个字符串并按下回车键,程序会输出替换后的字符串。
示例:
输入: HelloWorld
输出: SvoolDliow
原文地址: https://www.cveoy.top/t/topic/I7H 著作权归作者所有。请勿转载和采集!