程序输入20个数就死了,,不能输入数,也没运行结果。sos
#include<stdio.h>void main()
{
int arrange(int a[]);
int m=19,n=0,num,t,i,k=1,a[20]={0};
printf("请输入一个数组:");
/*输入一个20个数的数组给a*/
for(i=0;i<20;i++)
{
scanf("%d",&a[i]);
}
arrange(a);
/*数组a原样输出*/
for(i=0;i<20;i++)
{
printf("%d ",a[i]);
}
/*输入要找的数num*/
printf("please input a number:");
scanf("%d",&num);
/*折半查找*/
while(m-n>1)
{
t=(m+n)/2;
if(num==a[t])
break;
else if(num<a[t])
m=t;
else
n=t;
}
if(num==a[t+1]) printf("在原始数组中找到了你要找的数字%d,它是数组的第%d元素.\n",num,t+1);
else if(num==a[t-1])printf("在原始数组中找到了你要找的数字%d,它是数组的第%d元素.\n",num,t);
else if(num==a[t])printf("在原始数组中找到了你要找的数字%d,它是数组的第%d元素.\n",num,t+1);
else printf("在原始数组中没有找到你要找的数字%d\n",num);
}
int arrange(int a[])
{
int i,t,k;
/*数组a从在大到时小排序*/
do
{
for(i=0;i<19;i++)
{
if(a[i]>a[i+1]){t=a[i+1];a[i+1]=a[i];a[i]=t;}
}
k++;
}while(k<20);
return a;
}
看看程序有什么问题
只能输入20个数,就死了,不能输入数,也没运行结果。
[[it] 本帖最后由 jw915086731 于 2008-5-7 16:34 编辑 [/it]]