求c语言大神 题目:编写查找函数search(),实现如下功能。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求c语言大神 题目:编写查找函数search(),实现如下功能。相关的知识,希望对你有一定的参考价值。

给定任意有序数列,然后输入任意数,用折半法找出该数在数列中的位置。 若数列中有此数,则返回该数在数列中所在位置;若数列中无此数,则返回-1

#include <stdio.h>
int search(int arr[],int len,int num)//arr为序列,len为序列长度,num为要查找的数

int start,end,mid;
start=0;
end=len-1;
mid=(start+end)/2;
while(start<=end)

if(arr[mid]>num)

end=mid-1;
mid=(start+end)/2;
continue;

if(arr[mid]<num)

start=mid+1;
mid=(start+end)/2;
continue;

return mid+1;

return -1;


int main()

int a[100],i,m,num,pos;
printf("输入序列长度:");
scanf("%d",&m);
printf("输入一个长度为%d的有序序列:\n",m);
for(i=0;i<m;i++)

scanf("%d",&a[i]);

printf("输入你要查找的数:");
scanf("%d",&num);
pos=search(a,m,num);
if(pos==-1)
printf("未能在序列中找到你要查找的数。\n");
else
printf("你要查找的数在第%d个位置\n",pos);
return 0;
参考技术A int search(int a[], int n, int x)
{ int k;
for (k=0; k<n; k++)
{if (a[ k]==x)
return k;

return -1;

c语言编程题 利用指针编写函数用选择法对整数数组排序(降序)。 求大神帮忙啊!!!谢谢

#include<stdio.h>

void Sort(int *a,int n) 
int *p,*q,*v,t;
for(p = a;p < a + n - 1;++p) 
v = p;
for(q = p + 1; q < a + n; ++q)
if(*v > *q) v = q;
if(*p != *v) 
t = *p;
*p = *v;
*v = t;





void Show(int *a,int n) 
int i;
for(i = 0; i < n; ++i)
printf("%d ",*(a + i));
printf("\\n");


int main() 
int a[] = 23,12,54,89,66,59,57,48,91,20,31;
int n = sizeof(a)/sizeof(a[0]);
printf("排序前:\\n");
Show(a,n);
printf("排序后:\\n");
Sort(a,n);
Show(a,n);
return 0;

参考技术A #include <iostream>
using namespace std;
int sort(int *a, int num)

int temp;
for(int i = 0; i < (num-1); i++)

if(a[i]>a[i+1])

temp = a[i];
a[i] = a[i+1];
a[i+1] = temp;


return 0;

int main()

int num;
printf("请输入数组中整数个数:\n");
scanf("%d",&num);
int a[num];
sort(a,num);
return 0;

本回答被提问者采纳

以上是关于求c语言大神 题目:编写查找函数search(),实现如下功能。的主要内容,如果未能解决你的问题,请参考以下文章

c语言编程题 利用指针编写函数用选择法对整数数组排序(降序)。 求大神帮忙啊!!!谢谢

C语言程序编程题,求大神帮帮忙

C语言 循环与时间函数的问题,求大神教!我实现了有加分!

C语言 题目 编写一个函数,完成将一个字符串中的字符逆序输出,即最后一个先输出,第1个最后输出

用C语言数据结构编写 删除顺序表中值为x的元素 跪求大神解答 ! !

C语言查找数组中的值