用C语言编写一个函数void strlwr(char str[]),在键盘上输入,实现字符串小写变大写的功能
时间: 2023-06-01 07:06:28 浏览: 214
好的,这是一个技术问题,我可以和您聊聊。以下是 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。
对于数据库操作语句,系统不区分字母的大小写形式,认为大写和小写是一个字母,但是由于个人习惯不同,有人喜欢用大写形式,有人喜欢用小写形式。对于一个数据库操作语句,请你帮助他们,分别输出完全大写形式和完全小写形式。测试数据有多组,第一行的正整数T表示测试数据的组数。每组单独占一行,包含不多于200个字符。对于每组测试数据,分别输出其完全大写和完全小写形式,每种输出单独占一行,第一行输出完全大写形式,第二行输出完全小写形式。不要用strupr()和strlwr()函数。c语言程序
好的,以下是 C 语言的实现代码:
```c
#include <stdio.h>
#include <string.h>
void to_upper(char* str) {
for (int i = 0; str[i] != '\0'; i++) {
if (str[i] >= 'a' && str[i] <= 'z') {
str[i] -= 32; // 转换为大写形式
}
}
}
void to_lower(char* str) {
for (int i = 0; str[i] != '\0'; i++) {
if (str[i] >= 'A' && str[i] <= 'Z') {
str[i] += 32; // 转换为小写形式
}
}
}
int main() {
int T;
scanf("%d", &T); // 输入测试数据组数
getchar(); // 清除输入缓冲区的回车符
while (T--) {
char str[201];
fgets(str, sizeof(str), stdin); // 输入字符串
str[strcspn(str, "\r\n")] = '\0'; // 清除字符串结尾的换行符
char upper_str[201], lower_str[201];
strcpy(upper_str, str);
strcpy(lower_str, str);
to_upper(upper_str); // 转换为大写形式
to_lower(lower_str); // 转换为小写形式
printf("%s\n", upper_str); // 输出完全大写形式
printf("%s\n", lower_str); // 输出完全小写形式
}
return 0;
}
```
运行程序后,输入测试数据的组数,然后输入每组字符串,程序会输出该字符串的完全大写形式和完全小写形式。例如,输入:
```
2
SELECT * FROM students
insert into products (name, price) values ('apple', 3.5)
```
程序会输出:
```
SELECT * FROM STUDENTS
select * from students
INSERT INTO PRODUCTS (NAME, PRICE) VALUES ('APPLE', 3.5)
insert into products (name, price) values ('apple', 3.5)
```
阅读全文