用c语言定义一个函数toUpper(char []),其功能是将字符数组(字符长度不超过81)中的字母小写转换为大写,其它字符不变,在主函数中赋值后调用该函数实现转换。注意:输入的内容可能包含空格。
时间: 2024-02-11 10:05:51 浏览: 196
好的,下面是实现toUpper函数的代码:
```c
#include <stdio.h>
void toUpper(char str[]) {
int i = 0;
while (str[i] != '\0') {
if (str[i] >= 'a' && str[i] <= 'z') {
str[i] = str[i] - 'a' + 'A';
}
i++;
}
}
int main() {
char str[81];
printf("请输入字符串:");
fgets(str, 81, stdin);
toUpper(str);
printf("转换后的字符串为:%s", str);
return 0;
}
```
解释一下代码:
- toUpper函数中,我们使用了一个while循环来遍历字符串中的每一个字符。如果字符是小写字母,就将其转换为大写字母。这里用到了ASCII码表,a的ASCII码为97,A的ASCII码为65,所以将小写字母转换为大写字母的方法是将其减去97再加上65。
- 在主函数中,我们使用fgets函数读取输入的字符串,并将其传递给toUpper函数进行转换。最后打印转换后的字符串。
希望这份代码可以帮到你!
相关问题
用c语言编写编写函数fun(),功能将str 数组中的字符串下标为奇数位置的小写字母转换为大写字母,若该位置不是小写字母则不转换,在主函数中输出修改后的字符串
在 C 语言中,你可以通过遍历字符串数组,检查每个奇数索引的位置,并判断字符是否为小写字母,如果是,则将其转换为大写字母。这里是一个简单的示例函数 `fun()` 的实现:
```c
#include <stdio.h>
#include <ctype.h> // 包含大小写转换的库函数
// 定义 fun 函数
void fun(char str[], int length) {
for (int i = 0; i < length; i++) { // 遍历整个字符串
if (i % 2 == 1 && // 检查索引是否为奇数
islower(str[i])) { // 判断字符是否为小写字母
str[i] = toupper(str[i]); // 转换为大写
}
}
}
// 主函数
int main() {
char str[] = "Hello, World! This is a test.";
int len = sizeof(str) / sizeof(str[0]) - 1; // 获取字符串长度(去掉结尾的空字符)
fun(str, len); // 调用 fun 函数处理字符串
printf("Modified string: %s\n", str); // 输出修改后的字符串
return 0;
}
```
这个程序首先计算输入字符串的长度,然后调用 `fun` 函数,该函数会遍历字符串并只对奇数位置的小写字母进行转换。运行 `main` 后,你会看到 "Hello, WORLD! This is a test."。
c语言 编写一个函数fun,从键盘上输入一个字符串,放在数组中,要求将字符串中的大写字母转换成小写字母,小写字母转换成大写字母,非字母字符不变
以下是使用 C 语言编写的函数 `fun`,它可以实现将输入的字符串中的大小写字母进行转换,并保留非字母字符不变:
```c
#include <stdio.h>
#include <ctype.h>
void fun() {
char s[100];
int i = 0;
// 从键盘上输入字符串
printf("请输入一个字符串:");
scanf("%s", s);
// 将字符串中的大小写字母进行转换
while (s[i] != '\0') {
if (islower(s[i])) {
s[i] = toupper(s[i]);
} else if (isupper(s[i])) {
s[i] = tolower(s[i]);
}
i++;
}
// 输出转换后的字符串
printf("转换后的字符串为:%s\n", s);
}
```
使用示例:
```
fun();
请输入一个字符串:Hello World!
转换后的字符串为:hELLO wORLD!
```
阅读全文