|
发表于 2021-11-9 15:47:48
|
显示全部楼层
本楼为最佳答案
- #include <stdio.h>
- int main(void)
- {
- int d[30000] , i , j , k , n , t ;
- scanf("%d" , & n) ;
- for(i = 0 ; i < n ; i ++) scanf("%d" , & d[i]) ;
- for(i = 0 ; i < n - 1 ; i ++) {
- for(j = i + 1 ; j && d[j] < d[j - 1] ; j --) {
- t = d[j - 1] ;
- d[j - 1] = d[j] ;
- d[j] = t ;
- }
- }
- for(;;) {
- if(scanf("%d" , & t) == 1) {
- for(i = 0 ; i < n && d[i] < t ; i ++) ;
- if(i < n) for(k = 0 ; k < n - i ; k ++) d[n - k] = d[n - 1 - k] ;
- d[i] = t ;
- n ++ ;
- } else {
- break ;
- }
- }
- for(i = 0 ; i < n ; i ++) {
- if(i) printf(" ") ;
- printf("%d" , d[i]) ;
- }
- printf("\n") ;
- }
复制代码
编译、运行实况:
- D:\0002.Exercise\C>g++ -o x x.c
- D:\0002.Exercise\C>x
- 3
- 10 30 26
- 5
- 18
- a
- 5 10 18 26 30
- D:\0002.Exercise\C>
复制代码 |
|