初学c语言,这个程序通过了编译,但是老是奔溃。
一个给数组排序,并且寻找数组内部数字的程序。
#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."); }
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
谢谢谢谢!
scanf("%d",&n);