初学c语言,这个程序通过了编译,但是老是奔溃。

cjjbc 发布于 2016/10/20 21:38
阅读 422
收藏 1

一个给数组排序,并且寻找数组内部数字的程序。

#include <stdio.h>

void sort(int a[],int n);
void halfsearch(int a[],int n);
int main()
{
int a[100],i,n;
printf("please enter numbers[1-100]:");
scanf("%d",n);
for(i=0;i<n;i++){
scanf ("%d",&a[i]); }
sort(a,n);
halfsearch(a,n);
return 0;
}
void sort(int a[],int n){
int k=0;
int i,j,tra;
for (i=0;i<n;i++){
k=i;
for(j=i+1;j<n;j++){
if(a[i]>a[j]){
tra=a[j];
a[j]=a[i];
a[i]=tra;
}
}
}
printf("\nthe sort number are:");
for(i=0;i<n;i++){
printf("%d ",a[i]);
}
}
void halfsearch(int a[],int n ){
int x;
printf("input the number you want search:");
scanf("%d",&x);
int first=0;
int last=n-1 ;
int half;
int q=0;
do{
half=(first+last)/2;
if(a[half]==x){
q=1;
printf("find the number %d,it is a[%d]",x,half);
}else if(a[half]<x){
first=half+1;
}else{
last=half-1;
}
}while ((q==0)&&(first<=last));
if(q==0)
printf("can't find the number.");
}



加载中
0
GestureWei
GestureWei
scanf("%d",&n);
0
c
cjjbc
谢谢谢谢!
返回顶部
顶部