#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
char str[30];//定义长度30
printf("输入字符串:");
scanf("%[^\n]", str);//输入随机数组
int a, b;//变量
for (a = 0; str[a] != '\0'; ++a)//只要str[a]还不是字符串结束的位置,那么这个循环就会继续
{
while (str[a] >= 'a' && str[a] <= 'z')//小写字母a到z
{
for (b = a; str[b] != '\0'; ++b)
{
str[b] = str[b + a];
}
str[b] = '\0';
}
}
printf("移除小写字母后,字符串为:%s\n", str);
return 0;
}
输入一个字符串,然后遍历字符串,对每个字符进行判断,是否为小写字母,如果是就将当前小写字母移除(从当前小写字母位置开始,将后面的字符依次向前移动),达到删除小写字母的效果。
代码写错了,应该是str[b]=str[b+1]吧。找到小写字母删掉,将该字母后面的字符全部向前移动一位