‘壹’ c语言 求search函数的原型 和用法
search是个模板函数,返回值由模板参数决定。
C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。
二十世纪八十年代,为了避免各开发厂商用的C语言语法产生差异,由美国国家标准局为C语言订定了一套完整的国际标准语法,称为ANSI C,作为C语言最初的标准。
‘贰’ C语言这里面的search(score,3);是什么意思
search() 是一个被调函数 score 和3 是他的参数
该函数的功能是查找n个学生的4次成绩 发现有小于60分的 打印出他的编号和成绩
‘叁’ C语言填空题
#include <stdio.h>
int search(int d[],int n,int x)
{
int i,low=0,high=n-1,mid;
int find =0;
while(low<=high && !find){
mid =(low+high)/2;
if(x< d[mid])high = mid-1;
else if(x> d[mid])low = mid+1;
else {i=mid;
find=1;
}
}
if(find==0)return(-1);
else return(i);
}
main()
{
int a[10],x,i,m;
printf("input array a:");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
printf("\ninput x:");
scanf("%d",&x);
m=search(a,10,x);
if(m==-1) printf("N0");
else printf("the index is :%d",m);
}
‘肆’ C语言 编写一个函数search(char str[ ],char ch),用于搜索数组str中
int ishave;
char string[],charch;
int search(char str[ ],char ch)
{
int i,length,xiabiao=0;
length = strlen(str);
for(i=0;i<length,xiabiao==0;i++)
{
if (str[i]==ch)
{xiabiao = i;}
}
return xiabiao;
}
int main()
{
printf("请输入字符串:\n");
scanf("%s",&string[]);
printf("请输入字符:\n");
scanf("%c",&charch);
ishave = search(string[],charch);
if (ishave==0)
{printf("字符串“%s”中没有“%c”这个字符,或者字符串“%s”中“%c”这个字符对应的元素的下标为“0”。\n",string[],charch,string[],charch);}
else
{printf("字符串“%s”中“%c”这个字符对应的元素的下标为“%d”。\n",string[],charch,ishave);}
return 0;
}
‘伍’ C语言填空
void main()
{
int a[10],m,i,no;
printf("Input 10 numbers:\n");
for (i=0;i<10;i++)
scanf("%d",&a[i]);
printf("Input m:\n");
scanf("%d",&m);
/***********SPACE***********/
no=search(a,m);
/***********SPACE***********/
if(no!=-1)
printf("\n OK FOUND! 是第%2d个\n",no+1);
else
printf("\n Sorry Not Found!\n");
}
int search(int a[10],int m)
{
int i;
for (i=0;i<=9;i++)
/***********SPACE***********/
if (a[i]==m)
return(i);
/***********SPACE***********/
return (-1);
}
‘陆’ C语言这个函数是干嘛的,他要怎么运行
search函数是用折半查找算法查找数组a中是否有数字m,如果有返回它第一次出现的下标,如果没有返回-1。
调用时需传入一个有10个int元素且按升序排列的数组和一个待查找的数,像这样:
int a[10]={2,2,5,7,7,9,25,60,88,100},i;
//i将等于3
i=search(a,7);
//i将等于7
i=search(a,60);
//i将等于-1
i=search(a,1001);
‘柒’ 求c语言大神 题目:编写查找函数search(),实现如下功能。
#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;
}
‘捌’ c语言中函数memset()是什么意思什么功能
memset()的函数, 它可以一字节一字节地把整个数组设置为一个指定的值。 memset()函数在mem.h头文件中声明,它把数组的起始地址作为其第一个参数,第二个参数是设置数组每个字节的值,第三个参数是数组的长度(字节数,不是元素个数)。其函数原型为:
void *memset(void*,int,unsigned);
其中void*表示地址
memset()的第一个实参是数组名,数组名作参数即数组作参数,它仅仅只是一个数组的起始地址而已。
实现第一个memset()函数调用的内存布局见图7-3。 在函数memset()栈区,从返回地址往上依次为第1,2,3个参数。第1个参数中的内容是main()函数中定义的数组ia1的起始地址。第2个参数是给数组设置的值(0),第3个参数是数组的长度(50*2)。函数返回时,main()函数的数组中内容全置为0。
‘玖’ C语言,函数search返回的是一个地址,m也是一个指针变量,为什么把search的返回值赋给m就会报错呢
你把m定义成一个函数指针了。如果你定义一个想接受search函数的变量,你应该这样定义:float *m;就行了。
下面是声明函数指针和指针函数的模板:
函数指针:type (*name)(args)
指针函数:type *name(args)
区别和用法自行网络。
‘拾’ search函数的用法C语言
提供一份C语言的代码供参考:#include#include int BinarySearch(int A[], int X, int N){ int Low, Mid, High; Low = 0; High = N - 1; while(Low X) High = Mid - 1; else return Mid; /*Found*/ } return -1;/*Not Found: Return -1*/}int main(){ int number[8]={12,15,24,45,51,78,84,95}; int size = sizeof(number)/sizeof(int); int a; scanf("%d",&a); int result = BinarySearch(number,a,size); printf("%d ",result); printf("\n"); system("pause"); return 0;} 输出的位置信息是从0开始,希望能帮到你。