大家好我是Beilef,我是非科班的学习者,请大家多多支持,有啥不对的请指出来。
我会尽我的能力去把内容讲的易懂。
前言
在计算机中字母大写和小写差在哪?我们都知道计算机语言是是以数据为基础的语言,所以这里应该能想到ASCII码值,从图中我们可以看见大写字母A比小写字母大32
提示:以下是本篇文章正文内容,下面案例可供参考
一、解题思路
- 这里第一种是不使用字符串函数
- 第二种是使用字符串函数
遍历字符串中的每个字符并对其进⾏分类处理来解决。具体来说,我们可以使⽤⼀个循环来遍历字符 串中的每个字符。
1. 对于每个字符,我们检查它是⼤写字⺟、⼩写字⺟还是其他字符。
2. 如果它是⼤写字⺟,我们将其转换为⼩写字⺟;
3. 如果它是⼩写字⺟,我们将其转换为⼤写字⺟;
4. 如果它是其他字符,则不需要进⾏任何转换。
• 字符串库函数: 1
. islower():判断字符是否为⼩写字⺟
2. isupper():判断字符是否为⼤写字⺟
3. tolower():将字符转换为⼩写字⺟
4. toupper():将字符转换为⼤写字⺟
二、使用步骤
1.代码演示
第一种:不用字符串函数
输入带有空格的字符串
char str[100] = {0};
scanf("%[^\n]s",str);
//^:非,除了。
^:非,除了。
(2)循环输入字符串
char str[100] = {0};
while( scanf("%[^\n]s", str) != EOF){
getchar();
.....
}
EOF: end of file 文件结束描述符,等于-1.
#include <stdio.h>
int main()
{
char buf[31] = { 0 };
//输?字符串
scanf_s("%[\n]s", buf);
int i = 0;
//遍历字符串
while (buf[i])
{
//判断当前字符是否为?写字?
if (buf[i] >= 'a' && buf[i] <= 'z')
buf[i] -= 32;
//判读那当前字符是否为?写字?
else if (buf[i] >= 'A' && buf[i] <= 'Z')
buf[i] += 32;
i++;
}
printf("%s\n", buf);
return 0;
}
第二种:使用字符串函数
代码如下(示例):
// ⽅法2:使⽤库函数
#include <stdio.h>
#include <ctype.h>
int main()
{
char buf[31] = { 0 };
//输⼊字符串
scanf_s("%[^\n]s", buf);
int i = 0;
while (buf[i])
{
//判断当前字符是否为⼩写字⺟
if (islower(buf[i]))
buf[i] = toupper(buf[i]);
//判读那当前字符是否为⼤写字⺟
else if (isupper(buf[i]))
buf[i] = tolower(buf[i]);
i++;
}
printf("%s\n", buf);
return 0;
}
总结
几天的题目结束啦,欢迎大家斧正。在评论区留言哦