题目🍗
有一个字符数组,其中只有大写字母和小写字母,将小写字母移到前面,
大写字符移到后面,保持小写字母本身的顺序不变,大写字母本身的顺序不变,
注意,不要分配新的数组.(如: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;
}
本篇完!🍗