描述
输入一个字符串,对其进行操作,使其数字在中间,且字母呈升序,数字呈降序
输入
一个字符串
输出
改变后的字符串
输入样例 1
asdff123er234
输出样例 1
ade433221ffrs
#include<string.h>
#include<stdio.h>
int main(){
char s[100],t[100],p[100],temp;
gets(s);
int i,j=0,k=0,m,n;
for(i=0;i<strlen(s);i++){ //将数字和字母记入新数组
if(s[i]>='0'&&s[i]<='9'){
t[j] = s[i];
j++;
}else{
p[k] = s[i];
k++;
}
}
for(i=0;i<j;i++){ //分别降序升序排序
m = i;
for(n=i+1;n<j;n++){
if(t[n]>t[m]){
m = n;
}
}
if(m!=i){
temp = t[i];
t[i] = t[m];
t[m] = temp;
}
}
for(i=0;i<k;i++){
m = i;
for(n=i+1;n<k;n++){
if(p[n]<p[m]){
m = n;
}
}
if(m!=i){
temp = p[i];
p[i] = p[m];
p[m] = temp;
}
}
for(i=0;i<k/2;i++){
printf("%c",p[i]);
}
for(i=0;i<j;i++){
printf("%c",t[i]);
}
for(i=k/2;i<k;i++){
printf("%c",p[i]);
}
}