题目🍗
有一个字符数组,其中只有大写字母和小写字母,将小写字母移到前面,
大写字符移到后面,保持小写字母本身的顺序不变,大写字母本身的顺序不变,
注意,不要分配新的数组.(如:wCelOlME,变为wellCOME).
思路分析🍗
类似于冒泡排序,两两比较,大写的字母移动到后面
注意:
1.判断大写的函数是 isupper
2.判断小写的函数是 islower
3.需要引用头文件#include<ctype.h>
完整代码🍗
#define _CRT_SECURE_NO_WARNINGS
#include<string.h>
#include<ctype.h>
#include<stdio.h>
int main()//
{
char s[1000];
scanf("%s",s);
//类冒泡排序
int len = strlen(s);
char tmp;
for (int i = 0; i < len-1; i++)
{
for (int j = 0; j + 1 < len - i; j++)
{
if (isupper(s[j]) && islower(s[j + 1]))//前面大写,后面小写,需要交换
{
tmp = s[j];
s[j] = s[j + 1];
s[j + 1] = tmp;
}
}
}
printf("%s\n",s);
return 0;
}
本篇完!🍗