询文


私信TA

用户名:OX64

访问量:10751

签 名:

授人以鱼,不如授人以渔

等  级
排  名 2333
经  验 2352
参赛次数 1
文章发表 12
年  龄 0
在职情况 在职
学  校
专  业

  自我简介:

规则之下,任尔跋扈!

解题思路:
    1、插入值也放入数组中,放入插入值前,意思一下,回个车再输入

    2、排序(冒泡/选择),可以避免单独插入时,值相等的比较

    3、排好后输出

注意事项:
    排序别错误了
参考代码:

//已有一个已正序排好的9个元素的数组,今输入一个数要求按原来排序的规律将它插入数组中。 
#include "stdio.h"
#define MAX 10
main(){
    int a[MAX]={0}; //10个值都赋上0
    for(int i=0;i<MAX;i++){
    
        scanf("%d",&a[i]); //前9个数(单独输入插入值时,把下面块注释的解开,这个循环的条件改为i<MAX-1;) //现在直接输入10个数 (输入完前9个后回车,再输入插入值)
    }
/*    while(getchar()!='\n'){ //消除,避免输入过多,导致直接赋给插入的值 
        continue;
    }
    scanf("%d",&a[MAX-1]); //插入值直接放入数组 */
    //冒泡排序 
    for(int i=0;i<MAX;i++){
        for(int j=i;j<MAX;j++){
            if(a[i]>a[j]){ //在上一次的基础上 
                int x=a[i]; //交换值,以满足交换位置 
                a[i]=a[j];
                a[j]=x;
            }
        }
    }
    for(int i=0;i<MAX;i++){ //输出 
        printf("%d\n",a[i]);
    }
    return 0;
}


 

0.0分

2 人评分

  评论区

  • «
  • »