麻烦大家帮我看看我这个错在哪里?题目是要求:编程实现折半查找某个数是否在给定的数组中,如果在输出”YES”,否则输出”NO”,并将该数据插入到有序数列中保证新数
#include<stdio.h>void main()
{
int a[11]={1,2,3,5,7,10,12,17,18,20},j,i,n;
for(i=0;i<11;i++)
printf("%2d",a[i]);
printf("please input n:\n");
scanf("%d",&n);
if(n<=((a[0]+a[9])/2))
for(i=0;i<=5;i++)
{
if(n==a[i])
{
j=i;
printf("yes!");
for(j=9;j>=i;j--)
{
a[j]=a[j+1];
a[i+1]=n;
printf("%2d\n",a[i]);
}
}
if(n!=a[i])
printf("no!");
}
else
for(i=6;i<10;i++)
{
if(n==a[i])
{
j=i;
printf("yes!");
for(j=9;j>=i;j--)
{
a[j]=a[j+1];
a[i+1]=n;
printf("%2d\n",a[i]);
}
}
if(n!=a[i])
printf("no!");
}
}
//帮我把正确的写出来,谢谢啊,本人很菜啊!