用C语言编写一个函数void strlwr(char str[]),在键盘上输入,实现字符串小写变大写的功能
时间: 2023-06-01 09:06:28 浏览: 263
好的,这是一个技术问题,我可以和您聊聊。以下是 C 语言编写的 strlwr 函数的示例代码:
```
#include <stdio.h>
#include <ctype.h>
void strlwr(char str[]) {
int i = 0;
while (str[i]) {
str[i] = toupper(str[i]);
i++;
}
}
int main() {
char str[100];
printf("请输入字符串:");
gets(str);
strlwr(str);
printf("转换后的字符串为:%s", str);
return 0;
}
```
这个程序中,我们首先定义了一个 `strlwr` 函数,在该函数中,我们通过循环遍历字符串中的每个字符,然后使用 `toupper` 函数将它们转换为大写字符。最后,在主函数中,我们使用 `gets` 函数从键盘获取用户输入的字符串,并调用 `strlwr` 函数将其转换为大写字符。
希望这个程序能对您有所帮助。如果您有其他问题,也可以随时问我。
相关问题
使用c语言写出代码:有一个字符串,都是ASCII字符,不超过100个,请判断该字符串是否为回文串。若是回文串,输出Yes,否则输出No。注意:回文串是正读反读都相同的字符串,回文串不区分大小写。注意:需要将字符串统一转换成大写或者小写 ,但是本平台不支持非标准ansi函数,不能直接调用strupr(),strlwr()函数。 可以参照下面的函数写个转换大小写的自定义函数,并调用。 void toupr(char *p) //把一个字符串中所有小写字符转换成大写 { int i; for(i=0;*(p+i)!='\0';i++) if(*(p+i)>='a'&&*(p+i)<='z') *(p+i)-=32; }
下面是使用 C 语言编写的判断字符串是否为回文串的代码,包括转换大小写的自定义函数 toupr:
```c
#include <stdio.h>
#include <string.h>
void toupr(char *p) {
int i;
for (i = 0; *(p + i) != '\0'; i++) {
if (*(p + i) >= 'a' && *(p + i) <= 'z') {
*(p + i) -= 32;
}
}
}
int main() {
char str[101];
int i, j, flag = 1;
printf("请输入字符串:");
scanf("%s", str);
toupr(str); // 转换字符串为大写
for (i = 0, j = strlen(str) - 1; i < j; i++, j--) {
if (str[i] != str[j]) {
flag = 0;
break;
}
}
if (flag) {
printf("Yes\n");
} else {
printf("No\n");
}
return 0;
}
```
上述代码中,使用了 toupr 函数将字符串转换成大写,然后使用双指针法判断字符串是否为回文串。如果是回文串,则 flag 的值为 1,否则 flag 的值为 0。最后根据 flag 的值输出 Yes 或 No。
c语言编写指针函数实现strlen strcat strcmp strcpy strupt strlwr运行
C语言中,字符串处理通常涉及到一些库函数,其中涉及到长度、拼接、比较和大小写转换等操作。以下是几个常见的字符串函数及其功能:
1. `strlen()` 函数:用于计算给定字符串的长度,不包括结尾的空字符'\0'。它返回一个`size_t`类型的值。
```c
#include <string.h>
size_t strlen(const char* str);
```
例子:
```c
size_t len = strlen("Hello, world!");
```
2. `strcat()` 函数:将一个字符串追加到另一个字符串的末尾。第一个参数是目标字符串,第二个参数是要附加的源字符串。
```c
#include <string.h>
char* strcat(char* dest, const char* src);
```
例如:
```c
char result[50];
strcat(result, " is a test.");
```
3. `strcmp()` 函数:用于比较两个字符串,如果相等则返回0,如果不等则返回负数或正数表示谁在字母表中靠前。
```c
int strcmp(const char* str1, const char* str2);
```
比如:
```c
if (strcmp("apple", "banana") > 0) {
printf("apple comes after banana.\n");
}
```
4. `strcpy()` 函数:复制整个字符串从一个位置到另一个位置。
```c
#include <string.h>
char* strcpy(char* dest, const char* src);
```
例如:
```c
char newStr[20];
strcpy(newStr, "Original string");
```
5. `strupr()` 或 `tolower()` 函数(Windows API中的`_strupr()`):将字符串中的所有字符转换为大写或小写,`strupr()`仅适用于ASCII字符集。
```c
#include <ctype.h>
#include <windows.h> // for _strupr
void strupr(char* str); // 注意这不是标准库的一部分,Windows专用
```
```c
strupr(str);
```
注意:以上函数在实际使用时需要考虑内存管理以及错误处理,如检查输入参数的有效性和目标缓冲区是否有足够的空间。
阅读全文