您的位置:首页 > 其它

恒生校招笔试题

2016-03-24 21:22 218 查看
已有一个已排好的9个元素的数组,今输入一个数要求按原来排序的规律将它插入数组中。

#include<stdio.h>
int main()
{
int a[100]={0}; //因为你要继续加入数据,所以数组不能定义成9,要大一些,至少应该是10
int i;
for(i=0;i<9;i++ ) //输入9个数,必须用循环,一句解决不了
scanf("%d",&a[i]);

int j,temp;
for(i=0;i<8;i++) //完成排序
{
for(j=i+1;j<9;j++)
if(a[i]>a[j])
{
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
printf("input a number: " );
scanf("%d", &temp );
for(i=0;i<9;i++ ) //查找插入位置
{
if ( temp < a[i] )
break;
}
for( j=8;j>=i;j-- ) //i后面的数后移
a[j+1]=a[j] ;
a[i]=temp; //插入数据到i位

for( i=0;i<10;i++ ) //输出数组
printf("%d ",a[i]);
printf("\n");
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: