C语言初级——练习(三)
11、字母数字混合排序 (吉比特2018秋)
输入一串字符,包含数字[0-9]和小写字母[az],要求按数字从小到大,字母从a到z排序,和所有数字排在字母后面
输入描述:
一串字符
输出描述:
按规则排序的一串字符
示例1
输入
a31bz
输出
abz13
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int cmp(const void* a,const void* b){
//比较函数
return *(char*)a > *(char*)b;
}
int main(){
char str[100000];
//str = fgets();
scanf("%s",str);
//int len = strlen(str);
int num1=0,num2=0;
qsort(str,strlen(str),sizeof(str[0]),cmp); //快速排序,排完序后数字在前字母在后
for(int i=0;'\0'!=str[i];i++){
if(str[i]>='a'&&str[i]<='z'){
printf("%c"