NJC0806


私信TA

用户名:18827759342

访问量:7195

签 名:

简单的事情重复做,重复做的事情坚持做,坚持做的事情开心做。

等  级
排  名 1260
经  验 3039
参赛次数 2
文章发表 12
年  龄 0
在职情况 学生
学  校
专  业

  自我简介:

解题思路:
     思路1:将比K1大的数字用一个变量保存,然后再这个数之前的数全部往后移动一位,最后把变量中的数放到数组最前面。(无需管比K1大的数字)
    
     思路2:重新定义两个数组,一个用来放比K1大的数,一个用来放比K1小的数。注意:小的数组需要倒序输出。(只提供思路,无代码)



参考代码:
                #include<stdio.h>
                int main()
                {
                 int n,number[9];
                scanf("%d",&n);
                 while(n--)
                 {
                      int i,k=0,j,temp=0;
                      for(i=0;i<9;i++)
                           scanf("%d",&number[i]);
                      for(i=0;i<9;i++)
                      {
                           if(number[k]>number[i])
                           {
                                temp=number[i];               //先保存找到比K1小的数字
                                for(j=i;j>0;j--)                    //该数字前的数字全部往后移动一位
                                         number[j]=number[j-1];
                                number[0]=temp;               //把找到的数字放到数组的最前面
                                k++;                                    //及时更新K1的下标
                           } 
                      }
                      for(i=0;i<9;i++)
                           printf("%d ",number[i]);
                  printf("\n");
                 }
                 return 0;
                 }

 

0.0分

0 人评分

  评论区

  • «
  • »