自编一个C语言小程序,读入用户输入的一个字符,按以下规则输出: 1)如果是大写字母,则输出对应的小写字母; 2)如果是小写字母,则输出对应的大写字母; 3)否则,照原字符输出。
时间: 2024-03-23 20:38:09 浏览: 46
好的,这是一个简单的程序,可以使用 C 语言来实现,代码如下:
```c
#include <stdio.h>
#include <ctype.h>
int main() {
char ch;
printf("请输入一个字符:");
scanf("%c", &ch);
if (isupper(ch)) {
printf("%c\n", tolower(ch));
} else if (islower(ch)) {
printf("%c\n", toupper(ch));
} else {
printf("%c\n", ch);
}
return 0;
}
```
这个程序使用了 C 语言标准库中的 `ctype.h` 头文件中的 `isupper()`、`islower()` 和 `tolower()`、`toupper()` 函数,其中 `isupper()` 和 `islower()` 函数用于判断字符的大小写,`tolower()` 和 `toupper()` 函数用于转换字符的大小写。程序先通过 `scanf()` 函数读入用户输入的字符,然后根据题目要求输出对应的大小写字母或原字符。
相关问题
请使用C语言编写以下程序,将字符串中小写字母字符转换为大写。 输入格式: 在一行中输入一个字符串(不超过80个字符)。 输出格式: 将字符串中小写字母字符转换为大写后输出。 输入样例: strings 输出样例: STRINGS
以下是使用C语言编写的程序,实现将字符串中小写字母字符转换为大写:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[81];
int i;
// 读入字符串
scanf("%s", str);
// 将小写字母转换为大写
for (i = 0; i < strlen(str); i++) {
if (str[i] >= 'a' && str[i] <= 'z') {
str[i] -= 32;
}
}
// 输出结果
printf("%s\n", str);
return 0;
}
```
程序的执行流程如下:
1. 首先定义一个 `char` 类型的数组 `str`,用于存储输入的字符串。
2. 使用 `scanf` 函数读入字符串,存储在数组 `str` 中。
3. 使用 `strlen` 函数获取字符串的长度,然后使用 `for` 循环遍历字符串中的每个字符。
4. 判断当前字符是否为小写字母,如果是,则将其转换为大写字母(ASCII 码中小写字母和大写字母的码值相差 32)。
5. 最后使用 `printf` 函数输出转换后的字符串。
注:为了保证字符串以及转换后的字符串能够正常存储,数组的大小至少应该为字符串的长度加 1(即 `char str[81]`)。
用C语言实现。编写程序,将字符串中小写字母字符转换为大写。 输入格式: 在一行中输入一个字符串(不超过80个字符)。 输出格式: 将字符串中小写字母字符转换为大写后输出。 输入样例: strings 输出样例: STRINGS
好的,下面是代码实现:
```c
#include <stdio.h>
int main() {
char str[81]; // 定义字符串数组,长度为80,留一位存储'\0'结束符
// 读入字符串
printf("请输入一个字符串:");
scanf("%s", str);
// 遍历字符串中的每一个字符,判断是否是小写字母字符
for (int i = 0; str[i] != '\0'; i++) {
if (str[i] >= 'a' && str[i] <= 'z') { // 如果是小写字母字符
str[i] -= 32; // 转换为大写字母字符
}
}
// 输出转换后的字符串
printf("转换后的字符串为:%s\n", str);
return 0;
}
```
其中,将小写字母字符转换为大写字母字符的方法是将其ASCII码值减去32。另外,同样提醒一下:本代码中的 `scanf()` 函数存在安全隐患,建议使用 `fgets()` 函数进行输入,以避免缓冲区溢出问题。
阅读全文