
c++编程,求高手解答 10
定义一个长度为10的数组,键盘输入9个整数存入数组,用选择排序法将它们由大到小排序后;之后再输入某个数x,根据x的值插入到有序数列中,并按小到大输出所有10个数;之后再删...
定义一个长度为10的数组,键盘输入9个整数存入数组,用选择排序法将它们由大到小排序后;之后再输入某个数x,根据x的值插入到有序数列中,并按小到大输出所有10个数;之后再删除第5个数,再输出剩下的9个数。
展开
1个回答
展开全部
#include <cstdio>
#include <iostream>
using namespace std;
int main()
{
int i,j,a[11],c;
for (i=1;i<=9;i++)
scanf("%d",&a[i]);
for (i=1;i<=9;i++)
for (j=i+1;j<=9;j++)
if (a[i]>a[j]) {c=a[i]+a[j];a[i]=c-a[i];a[j]=c-a[j];}
for (i=1;i<=9;i++)
printf("%d ",a[i]);
printf("\n");
scanf("%d",&a[10]);
int temp,low,high,mid;
for(i=1;i<=10;i++)
{
temp=a[i];
low=0;
high=i-1;
while(low<=high)
{
mid=(low+high)/2;
if (a[mid]>temp) high=mid-1;
else low=mid+1;
}
for (j=i-1;j>high;j--)
a[j+1]=a[j];
a[high+1]=temp;
}
for (i=1;i<=10;i++)
if (i!=5) printf("%d ",a[i]);
//system("pause");
return 0;
}
追问
不对啊
追答
哪边不对,我的是对的啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询