计算机技术


私信TA

用户名:1459657883

访问量:1770

签 名:

等  级
排  名 3524
经  验 1829
参赛次数 1
文章发表 5
年  龄 0
在职情况 学生
学  校 湘潭大学
专  业

  自我简介:

解题思路:

注意事项:

参考代码:

#include<iostream>
using namespace std;
int main()
{
    int a[10];
   
    for(int i=0;i<10;i++){
        cin>>a[i];//将待插入的数放置数组末尾
    }
    
    int l = a[9];//作为一个临时存储,否则数组元素后移时,该数可能丢失
    for(int i=0;i<10;i++){//从小到大遍历,待插入的数字一定比后面的小,比前面的大(从小到大的有序数组,可以用打草稿试试)
    
        if(l < a[i]){//直接寻找比待插入数字大的元素,取代其所在的位置
            for(int j=9;j>=i;j--){//将当前元素以及后面的元素后移一位,为待插入数字腾出空间
                a[j] = a[j-1];
            }
            a[i] = l;//取代该位置,成功上位
        }
    }
    
    for(int i=0;i<10;i++){//直接输出即可
        cout<<a[i]<<endl;
    }
    return 0;
}

 

0.0分

4 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区

这个过不了啊,在这一句(a[i] = l;//取代该位置,成功上位)后面应该加个break;才可以过的,
2021-03-08 19:58:15
  • «
  • 1
  • »