输入一个字符串,将这个字符串中的大写英文字母除去,输出剩余的字符组成的字符串,用指针做,c语言
时间: 2023-06-05 12:08:31 浏览: 95
代码实现如下:
```
#include <stdio.h>
#include <string.h>
void removeUpperCase(char* str) {
char* p = str;
while (*p != '\0') {
if (*p >= 'A' && *p <= 'Z') {
memmove(p, p+1, strlen(p));
} else {
p++;
}
}
}
int main() {
char str[100];
printf("请输入字符串: ");
scanf("%s", str);
removeUpperCase(str);
printf("输出结果: %s\n", str);
return 0;
}
```
相关问题
用c语言做一个程序,输入一个字符串,将这个字符串中的大写英文字母除去,输出剩余的字符组成的字符串。(用指针做)输入形式:输入一个字符串,可能包含有大写英文字母。输出形式:输出除去大写英文字母的剩余字符串。
下面是用指针实现的 C 语言程序代码:
```c
#include <stdio.h>
void remove_uppercase(char *str) {
char *p = str;
while (*p != '\0') {
if (*p >= 'A' && *p <= 'Z') {
char *q = p;
while (*q != '\0') {
*q = *(q + 1);
q++;
}
} else {
p++;
}
}
}
int main() {
char str[100];
printf("请输入一个字符串:");
scanf("%s", str);
remove_uppercase(str);
printf("除去大写字母后的字符串是:%s\n", str);
return 0;
}
```
程序中的 `remove_uppercase` 函数用于去除输入字符串中的大写英文字母。它采用两个指针 `p` 和 `q`,其中 `p` 用于遍历字符串中的每个字符,如果当前字符是大写英文字母,就用 `q` 指针从当前位置开始,将后面的字符依次往前移动一个位置,最终将这个字符删除。如果当前字符不是大写英文字母,就继续遍历下一个字符。
c语言去大写英文字母(要求用指针做)输入一个字符串,将这个字符串中的大写英文字母除去,输出剩余的字符组成的字符串。
以下是使用指针实现去除大写字母的C语言代码:
```c
#include <stdio.h>
#include <string.h>
void remove_uppercase(char *str);
int main() {
char str[100];
printf("请输入一个字符串:");
fgets(str, 100, stdin);
remove_uppercase(str);
printf("去除大写字母后的字符串为:%s", str);
return 0;
}
void remove_uppercase(char *str) {
int len = strlen(str);
for (int i = 0; i < len; i++) {
if (*str >= 'A' && *str <= 'Z') {
// 如果是大写字母,将它后面的所有字符向前移动一个位置
int j = i;
while (j < len) {
*(str + j) = *(str + j + 1);
j++;
}
len--; // 字符串长度减1
i--; // 继续检查当前位置
}
str++;
}
}
```
使用fgets函数可以接收带空格的字符串输入,遍历字符串,如果当前字符是大写字母,将其后面的所有字符向前移动一个位置,字符串长度减1。注意要在移动完字符后将当前位置i减1,否则会跳过下一个字符。
阅读全文