有一个已排序好的数组,今输入一个数,要求按原来排序的规律将它插在数组里

sinat_41173353 2017-11-25 03:39:43
#include <iostream>
using namespace std;
int main()
{
int a[7]={3,33,52,61,66,85};
int m,i,j;
cout<<"请输入一个数m:";
cin>>m;
for(i=0;i<=6;i++)
{
if(a[i]<=m && a[i+1]>=m)
{
for(j=i+1;j<=5;j++)
{
a[j+1]=a[j];}
a[i+1]=m;
}
else break;
}
for(i=0;i<=6;i++)
{
cout<<a[i]<<" ";
}
return 0;
}
如果输入32,则3后面的数都变成了32,请问这是错在哪个地方了?
...全文
535 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
codedoctor 2017-11-25
  • 打赏
  • 举报
回复
emmmm,。。从最后一个向后面赋值。。而不要从插入点开始赋值。。 不然比如输入6,第一次移动之后,{3,33,52,61,66,85 }数组就变成了 {3,33,33,61,66,85 },这是不对的。你懂的吧。, 从最后一个向后面赋值。

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧