C语言编程编写一个字符串处理函数,其功能是从字符串中删除所有的小写字母。然后编写一个主函数调用,对于一个从键盘输入的一行字符,输出经过该函数处理后的结果
时间: 2023-12-03 16:43:55 浏览: 107
以下是一个实现该功能的C语言代码:
```c
#include <stdio.h>
#include <string.h>
#include <ctype.h>
void remove_lowercase(char *str) {
int i, j;
for (i = 0, j = 0; str[i] != '\0'; i++) {
if (!islower(str[i])) {
str[j] = str[i];
j++;
}
}
str[j] = '\0';
}
int main() {
char str[100];
printf("请输入一行字符串:\n");
fgets(str, sizeof(str), stdin);
remove_lowercase(str);
printf("处理后的结果为:%s\n", str);
return 0;
}
```
其中,`remove_lowercase`函数用于删除字符串中的小写字母,`main`函数则用于获取用户输入的字符串,并输出处理后的结果。在`remove_lowercase`函数中,我们使用了`islower`函数来判断一个字符是否为小写字母,如果是,则不复制到新的字符串中。最后,我们在新字符串的末尾添加了一个空字符,以表示字符串的结束。
运行程序,输入一行字符串后,程序将会输出删除小写字母后的结果。
相关问题
C语言编程编写一个字符串处理函数,其功能是从字符串中删除所有的大写字母或小写字母(若你的学号为奇数,则删除大写字母,否则删除小写字母)。然后编写一个主函数调用,对于一个从键盘输入的一行字符,输出经过该函数处理后的结果
以下是一个删除大写字母的示例代码:
```c
#include <stdio.h>
#include <string.h>
void remove_uppercase(char *str) {
int i, len = strlen(str);
for(i = 0; i < len; i++) {
if(str[i] >= 'A' && str[i] <= 'Z') { // 判断是否是大写字母
memmove(&str[i], &str[i+1], len-i); // 删除该字符
len--; // 字符串长度减1
i--; // 因为删除了一个字符,所以i也要减1
}
}
}
int main() {
char str[100];
printf("请输入一行字符串:\n");
fgets(str, 100, stdin); // 从键盘读入一行字符串
if(strlen(str) > 0 && str[strlen(str)-1] == '\n') {
str[strlen(str)-1] = '\0'; // 去掉fgets读入字符串末尾的换行符
}
remove_uppercase(str); // 调用函数删除大写字母
printf("处理后的字符串为:%s\n", str);
return 0;
}
```
如果你的学号为偶数,则需要删除小写字母,只需稍作修改即可。
用C语言程序设计,编写一个字符串处理函数,其功能是从字符串中删除所有的大写字母或小写字母(若你的学号为奇数,则删除大写字母,否则删除小写字母)。然后编写一个主函数调用,对于一个从键盘输入的一行字符,输出经过该函数处理后的结果 。
好的,根据你的要求,我来为你编写这个字符串处理函数。以下是代码实现:
```c
#include <stdio.h>
#include <string.h>
void remove_upper_or_lower(char *s) {
// 判断学号奇偶性
int student_id = 2021000001; // 请替换成你的真实学号
if (student_id % 2 == 1) {
// 删除大写字母
int i, j = 0;
for (i = 0, j = 0; s[i] != '\0'; i++) {
if (s[i] >= 'a' && s[i] <= 'z') {
s[j++] = s[i];
}
}
s[j] = '\0';
} else {
// 删除小写字母
int i, j = 0;
for (i = 0, j = 0; s[i] != '\0'; i++) {
if (s[i] >= 'A' && s[i] <= 'Z') {
s[j++] = s[i];
}
}
s[j] = '\0';
}
}
int main() {
// 从键盘输入一行字符
char s[100];
printf("请输入一行字符:");
scanf("%[^\n]", s);
// 调用字符串处理函数处理字符串
remove_upper_or_lower(s);
// 输出结果
printf("处理后的结果为:%s\n", s);
return 0;
}
```
以上就是完整的代码实现。你可以将代码保存为一个.c文件,然后在命令行或者其他C语言环境中编译运行,输入一行字符,即可得到经过处理后的结果。
阅读全文