c语言小写字母转大写字母
时间: 2023-05-08 07:55:45 浏览: 67
在C语言中,可以使用ASCII码表来将小写字母转换成大写字母。ASCII码表中,小写字母和大写字母的十进制 ASCII码值是相差32的,因此我们可以利用这个规律进行转换。
具体实现可以使用字符数组存储输入的字符串,然后遍历字符数组,对于每个小写字母,将其ASCII码值加上32,即可得到对应的大写字母。代码如下所示:
```c
#include <stdio.h>
#include <string.h>
int main()
{
char str[100];
printf("请输入一串小写字母:\n");
gets(str); //输入小写字母字符串
for(int i=0; i<strlen(str); i++)
{
if(str[i]>='a' && str[i]<='z') //判断是否为小写字母
{
str[i] -= 32; //转换成大写字母的ASCII码值
}
}
printf("转换后的大写字母为: %s\n", str); //输出转换后的大写字母字符串
return 0;
}
```
需要注意的是,当输入的字符串中包含了非小写字母的字符时,程序需要进行相应的处理,避免造成错误。
相关问题
c语言小写字母转大写字母后的第二个字母
为了实现这个功能,我们可以按照以下步骤进行:
1. 读取小写字母(假设是输入字符变量为c);
2. 将这个小写字母转换成大写字母(可以使用c - 'a' + 'A'的公式实现);
3. 继续从输入中读取下一个字符(假设是输入字符变量为d);
4. 如果d是小写字母,则输出转换后的大写字母和d;
5. 如果d不是小写字母,则输出“N/A”。
以下是示例代码:
```c
#include <stdio.h>
int main() {
char c, d;
scanf("%c%c", &c, &d);
if (c >= 'a' && c <= 'z') {
c = c - 'a' + 'A';
if (d >= 'a' && d <= 'z') {
printf("%c%c", c, d);
} else {
printf("N/A");
}
} else {
printf("N/A");
}
return 0;
}
```
注意,上面的代码中使用了scanf("%c%c", &c, &d)来读取输入中的两个字符,这是因为输入中可能会出现空格或其他分隔符,直接使用scanf("%c", &c)可能只能读取输入中的第一个字符。
c语言小写字母变大写字母
在C语言中,可以使用库函数toupper()将小写字母转换为大写字母。toupper()函数的原型如下:
```c
int toupper(int c);
```
其中,参数c是要转换的字符,返回值是转换后的字符。这个函数只能转换单个字符,不能处理字符串。
下面是一个简单的示例代码,将用户输入的小写字母转换为大写字母:
```c
#include <stdio.h>
#include <ctype.h>
int main()
{
char c;
printf("请输入一个小写字母:");
scanf("%c", &c);
if (islower(c)) // 判断是否为小写字母
{
c = toupper(c); // 将小写字母转换为大写字母
printf("转换后的大写字母为:%c\n", c);
}
else
{
printf("输入的不是小写字母!\n");
}
return 0;
}
```
运行程序后,输入一个小写字母,程序会将其转换为大写字母并输出。如果输入的不是小写字母,则会提示输入错误。