2302: 数字中间化 二 (串)
输入一个字符串,对其进行操作,使其数字在中间,且字母呈升序,数字呈降序
Input
一个字符串
Output
改变后的字符串
Sample Input
asdff123er234
Sample Output
ade433221ffrs
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 | #include<stdio.h> #include<stdlib.h> int cmp( const void *a, const void *b) { return ( strcmp (( char *)a,( char *)b)); } int cmp1( const void *a, const void *b) { return ( strcmp (( char *)b,( char *)a)); } int main() { char s[999]; int n,m,i,j,k,l; char a[999],b[999]; scanf ( "%s" ,&s); n= strlen (s); j=0; k=0; for (i=0;i<n;i++) { if (s[i]<= '9' &&s[i]>= '0' ) { a[j]=s[i]; j++; } else { b[k]=s[i]; k++; } } a[j]= '\0' ; b[k]= '\0' ; int o,p; o= strlen (a); p= strlen (b); qsort (a,o, sizeof (a[0]),cmp1); qsort (b,p, sizeof (b[0]),cmp); for (i=0;b[i]!= '\0' ;i++) { if (i==p/2) printf ( "%s" ,a); printf ( "%c" ,b[i]); } return 0; } |
......