方法一:使用c语言头文件ctype.h库里的tolower函数把字符串大写转换成小写
程序结构:
自定义三个函数,一个输入字符串,一个处理字符串,一个输出处理之后的字符串,最后再主函数中调用这三个函数
参考代码:
#include <stdio.h> #include <string.h> #include <ctype.h> // 函数声明 void inputString(char *str, int size); void processString(char *str, int size); void outputString(char *str, int size); int main() { char str[100]; // 假设字符串的最大长度为100 int size = sizeof(str); // 传递字符串的大小给其他函数 // 输入字符串 inputString(str, size); // 处理字符串 processString(str, size); // 输出处理后的字符串 outputString(str, size); return 0; } // 输入字符串的函数 void inputString(char *str, int size) { printf("请输入一个字符串: "); fgets(str, size, stdin); // 去除换行符 str[strcspn(str, "\n")] = '\0'; /** * 函数原型:int strcspn(char* str,char* charset) * 功能:返回str中第一个和charset字符集中元素匹配的元素的位置。如果没有匹配到,就会返回str字符串的长度。 */ } // 处理字符串的函数 void processString(char *str, int size) { // 将字符串中的所有字符转换为大写 for (int i = 0; str[i]; i++) // 字符串是以空字符'\0'作为结尾的标识符,所以循环条件是str[i]不为空字符 { str[i] = tolower(str[i]); // toupper函数包含在ctype.h头文件中,用于将字符转换为小写 } } // 输出字符串的函数 void outputString(char *str, int size) { printf("处理后的字符串是: %s\n", str); }
方法二:自行设计代码实现大小写转换
解题思路:
由于大写字母与小写字母对应的ASCII码值相差32,所以可以把大写字母加上32转换成小写字母
程序结构:
自定义三个函数,一个输入字符串,一个处理字符串,一个输出处理之后的字符串,最后再主函数中调用这三个函数
参考代码:
#include <stdio.h> #include <string.h> void fun_input(char *str) { scanf("%[^\n]", str); // 除了回车键全部输入 } void fun_convert(char *str) { for (int i = 0; i < strlen(str); i++) { if (str[i] >= 'A' && str[i] <= 'Z') { str[i] += 32; } } } void fun_printf(char *str) { printf("%s", str); } int main() { char str[100]; fun_input(str); // 调用fun_input函数获取用户输入的字符串 fun_convert(str); // 调用fun_convert函数将字符串中的大写字母转换为小写字母 fun_printf(str); // 调用fun_printf函数并传递输入的字符串作为参数 return 0; }
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:618 |
C语言程序设计教程(第三版)课后习题6.9 (C语言代码)浏览:795 |
WU-整除问题 (C++代码)浏览:638 |
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:855 |
C语言程序设计教程(第三版)课后习题6.1 (C语言代码)浏览:570 |
P1000 (C语言代码)浏览:895 |
出圈】指针malloc版浏览:373 |
1050题解(结构体数组与结构体指针的使用)浏览:1210 |
剪刀石头布 (C语言代码)浏览:1507 |
拆分位数 (C语言代码)浏览:550 |