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

发布于 2021-11-29 16:56:05 字数 1126 浏览 959 评论 2

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

#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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

归途 2021-12-03 09:33:33

谢谢谢谢!

奈何桥上唱咆哮 2021-12-01 08:14:29

scanf("%d",&n);

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文