c语言输入字符串,大写字母变小写,小写字母变大写,其他原样输出
时间: 2023-11-30 08:04:19 浏览: 176
```
#include <stdio.h>
#include <ctype.h>
int main() {
char str[100];
int i;
printf("Enter a string: ");
fgets(str, 100, stdin);
for (i = 0; str[i] != '\0'; i++) {
if (islower(str[i])) {
str[i] = toupper(str[i]);
} else if (isupper(str[i])) {
str[i] = tolower(str[i]);
}
}
printf("Modified string: %s", str);
return 0;
}
```
该程序先使用fgets函数输入一个字符串,然后对字符串进行遍历,如果字符是小写字母,则使用toupper函数将其转换为大写字母;如果是大写字母,则使用tolower函数将其转换为小写字母;其他字符直接原样输出。最后输出修改后的字符串。
相关问题
c语言输入小写变大写其他字符原样输出
在 C 语言中,你可以通过简单的遍历和 ASCII 码转换来实现将用户输入的小写字母转换成大写,而其他字符保持不变。这里提供一种简单的方法:
```c
#include <ctype.h> // 包含处理大小写的头文件
int main() {
char input[100]; // 定义一个足够大的数组来存储用户的输入
printf("请输入字符串:");
fgets(input, sizeof(input), stdin); // 从标准输入获取用户输入,fgets包含换行符
for (int i = 0; i < strlen(input); ++i) { // 遍历输入字符串
if (islower(input[i])) { // 检查字符是否为小写字母
input[i] = toupper(input[i]); // 如果是小写,转换为大写
}
}
printf("转换后的字符串:%s\n", input); // 输出转换后的结果
return 0;
}
```
c语言小写字符串变大写
### C语言中小写字符串转换为大写的方法
在C语言中,可以通过多种方式将小写字母转换为大写字母。一种常见的方式是使用标准库函数`toupper()`来逐个处理字符串中的字符。
#### 使用 `toupper()` 函数
此方法需要包含 `<ctype.h>` 头文件。对于每一个字符,如果它是小写字母,则会被转换为其对应的大写字母;如果不是小写字母,则保持原样[^1]。
```c
#include <stdio.h>
#include <ctype.h>
int main() {
char s[] = "aBcDeFgH12345;!#$";
int i;
printf("Before toupper(): %s\n", s);
for (i = 0; s[i]; ++i) // 遍历整个字符串直到遇到终止符 '\0'
s[i] = toupper((unsigned char)s[i]);
printf("After toupper(): %s\n", s);
return 0;
}
```
这段代码展示了如何遍历并修改给定字符串`s`里的每个字符,使其变为大写形式。注意这里使用了 `(unsigned char)` 类型转换以确保传递给 `toupper()` 的参数是非负数值,因为某些平台可能对有符号字符有不同的解释规则。
#### 利用ASCII码特性手动转换
另一种不需要额外导入任何特殊头文件的方法就是基于ASCII编码表的特点来进行计算。由于英文字母的大小写之间相差固定的偏移量(即32),因此可以直接通过加减这个固定值完成转换操作[^2]。
```c
#include <stdio.h>
void toUpperCase(char* str){
while (*str != '\0'){
if(*str >= 'a' && *str <= 'z')
*str -= ('a' - 'A');
str++;
}
}
int main(){
char string[]="hello world!";
puts(string);
toUpperCase(string);
puts(string);
return 0;
}
```
上述例子定义了一个名为 `toUpperCase` 的辅助函数用于执行实际的转换工作。它会检查当前指向的位置是否位于'a-z'范围内,如果是的话就调整相应的位从而得到相应的大写字母。
阅读全文
相关推荐














