| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 5584 人关注过本帖
标题:已有一个已排好的9个元素的数组,今输入一个数要求按原来排序的规律将它插入 ...
只看楼主 加入收藏
沉迷
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2015-5-12
结帖率:0
收藏
已结贴  问题点数:20 回复次数:4 
已有一个已排好的9个元素的数组,今输入一个数要求按原来排序的规律将它插入数组中。
#include<iostream>//已有一个已排好的9个元素的数组,今输入一个数要求按原来排序的规律将它插入数组中。
using namespace std;
int main()
{
    int a[10],i,b,t;
    for(i=0;i<9;i++)
    {    cin>>a[i];}
    cin>>b;
for(i=0;i<10;i++)
    if(b>a[i])
        t=b;
       b=a[i];
       a[i]=t;
for(i=0;i<10;i++)
cout<<a[i]<<endl;
return 0;
}     
搜索更多相关主题的帖子: include 元素 
2015-05-31 19:19
取名字
Rank: 8Rank: 8
等 级:贵宾
威 望:21
帖 子:236
专家分:924
注 册:2015-4-27
收藏
得分:7 
楼主的程序没有实现将输入的数按原来的顺序插入数组中的功能,实现的是输入的数与数组中某个数之间的交换(其实也没实现,因为if语句没有加大括号"}")。
楼主把程序中的这一段重写:
for(i=0;i<10;i++)
    if(b>a[i])
        t=b;
       b=a[i];
       a[i]=t;
思路是:找到插入的位置后,将该位置及之后的元素依次后移,然后将输入的数字插入到该位置;也可以将输入的数字先放在数组的末尾,然后利用冒泡法或是选择排序法进行排序。
在寻找插入位置的时候,可以采用折半查找法。
2015-05-31 21:21
yangfrancis
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:贵宾
威 望:141
帖 子:1510
专家分:7661
注 册:2014-5-19
收藏
得分:7 
没有对a[9]赋过值,很难说在第二个for循环访问到a[9]时会发生什么情况.
2015-05-31 21:23
w2009w
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:2
帖 子:190
专家分:542
注 册:2015-4-20
收藏
得分:7 
//已有一个已排好的9个元素的数组,
//今输入一个数要求按原来排序的规律将它插入数组中。
#include<iostream>
using namespace std;
int main()
{
    int a[10],i,b,t;
    for(i=0;i<9;i++)
    {   
        cout<<"输入第"<<i+1<<"个元素:"<<endl;
        cin>>a[i];
        cout<<endl;
    }
    cout<<"输入第10个元素:"<<endl;
    cin>>b;
    a[9]=b;
    for(i=0;i<10;i++)
        cout<<a[i]<<endl;
    return 0;
}
2015-05-31 21:37
w2009w
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:2
帖 子:190
专家分:542
注 册:2015-4-20
收藏
得分:0 
我懂你的意思!顶一个吧!
2015-05-31 21:37
快速回复:已有一个已排好的9个元素的数组,今输入一个数要求按原来排序的规律将 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016385 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved