C++有一个已经从小到大排好序的整数数组,现输入一个整数x,要求按原来的升序规律将它插入到数组中
有一个已经从小到大排好序的整数数组:a[30]={6,9,12,15,19,23,45,67,89,98},现输入一个整数x,要求按原来的升序规律将它插入到数组中...
有一个已经从小到大排好序的整数数组:a[30]={6,9,12,15,19,23,45,67,89,98},现输入一个整数 x ,要求按原来的升序规律将它插入到数组中
展开
2个回答
展开全部
#include<iostream>
using namespace std;
int main()
{
int a[30]={6,9,12,15,19,23,45,67,89,98};
int i; //循环变量
int icount=0; //计数器
for(i=0;i<30;i++)
{
if(a[i]>0)
icount++; //得到大于0的数字个数
}
cout<<"a[30]={6,9,12,15,19,23,45,67,89,98};\n"<<"输入要插入的数字\n";
int inter;
cin>>inter;
if(inter>=a[icount-1]) //插在最后
a[icount]=inter;
else
for(i=0;i<icount-1;i++)
{
if(a[i]<=inter&&a[i+1]>inter)
{
for(int j=icount;j>=i+2;j--) //原来的第i+1个数往后移
{
a[j]=a[j-1];
}
a[i+1]=inter;
break;
}
}
cout<<"插入结果如下:\n";
cout<<"a[30]={";
for(i=0;i<=icount-1;i++)
cout<<a[i]<<",";
cout<<a[icount]<<"};"<<endl;
return 0;
}
using namespace std;
int main()
{
int a[30]={6,9,12,15,19,23,45,67,89,98};
int i; //循环变量
int icount=0; //计数器
for(i=0;i<30;i++)
{
if(a[i]>0)
icount++; //得到大于0的数字个数
}
cout<<"a[30]={6,9,12,15,19,23,45,67,89,98};\n"<<"输入要插入的数字\n";
int inter;
cin>>inter;
if(inter>=a[icount-1]) //插在最后
a[icount]=inter;
else
for(i=0;i<icount-1;i++)
{
if(a[i]<=inter&&a[i+1]>inter)
{
for(int j=icount;j>=i+2;j--) //原来的第i+1个数往后移
{
a[j]=a[j-1];
}
a[i+1]=inter;
break;
}
}
cout<<"插入结果如下:\n";
cout<<"a[30]={";
for(i=0;i<=icount-1;i++)
cout<<a[i]<<",";
cout<<a[icount]<<"};"<<endl;
return 0;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询