成都网站建设设计

将想法与焦点和您一起共享

c语言查找地点函数 查找数字位置c语言

C语言如何用函数来实现搜索

#include stdio.h

成都创新互联主营鼓楼网站建设的网络公司,主营网站建设方案,重庆App定制开发,鼓楼h5小程序开发搭建,鼓楼网站营销推广欢迎鼓楼等地区企业咨询

int search(int a[],int b,int c,int i)

{

int x,y,z;

x=i+1;

z=b-1;

y=(x+z)/2;

while(x=z)

{

if(a[y]c)

{

z=y-1;

y=(x+z)/2;

continue;

}

if(a[y]c)

{

x=y+1;

y=(x+z)/2;

continue;

}

return y+1;

}

return -1;

}

int main()

{

int i,m,pos;

scanf("%d",m);

int a[m];

for(i=0;im;i++)

{

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

}

for(i=0;im;i++)

{

pos=search(a,m,a[i],i);

if(pos!=-1)

{

printf("FOUND a[%d]=%d, position is %d\n",i,a[i],i+1);

return 0;

}

}

if(pos==-1)

{

printf("NOT FOUND\n");

}

return 0;

}

这种查找方法的数组必须是从小到大的,用遍历的话就没这个问题了。

C语言中对函数名取地址

#include stdio.h

void f()

{

}

void main()

{

printf("%u\n", f);

printf("%u\n", f);

printf("%p\n", f);

}

主函数中前两行%u表示输出无符号的十进制,而第三行%p表示输出地址,其结果是一个十六进制的数,你将其转换成十进制,你会发现与前两行结果一样。

C语言查找字符串位置函数。请高手帮忙解决

#includestdio.h

#includestring.h

int findstr(char *s_str,char *d_str);

int main(void) {

char s1[80],s2[80];

int n;

printf("请输入一个字符串:");

gets(s1);

printf("请输入你要查找的字符串:");

gets(s2);

n=findstr(s1,s2);

printf("%s在%s里共有%d个\n",s2,s1,n);

return 0;

}

int findstr(char *s_str,char *d_str) {

int i,j,k,count=0;

char temp[80];

int length=strlen(d_str);

for(i=0;istrlen(s_str);i++) {

k=0;

for(j=i;ji+length;j++)

temp[k++]=s_str[j];

temp[k]='\0';

if(!strcmp(temp,d_str)) count++;

}

return count;

}

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

C代码和运行结果如下:

输入5,成功输出了其在给定数组中的下标为4,结果正确,望采纳~

附源码:

#include stdio.h

int search(int a[], int n, int x) { // 返回数组a[]中x的下标

int i;

for (i = 0; i n; i++) {

  if (a[i] == x)

      return i;

}

return -1; // 数组中没有x则返回-1

}

int main() {

int x, a[10] = {7,9,3,4,5,2,1,6,10,8};

scanf("%d", x); // 用户输入数x

printf("%d ", search(a, 10, x)); // 输出x在数组中的下标

return 0;

}

C语言查找函数

首先,指针默认只有一个地址的长度的空间,存不了那么多的字符。

其次,传值和传地址一塌糊涂,完全就是乱写么。

scanf的第二个参数是地址,如果本身不是指针则需要取址符。

我给你重写了算了

#includestdio.h

int Retrieve(int array[],int length,int x);/*形参x直接传值就可以了*/

int main()

{

int *a,x;

int length,i;

scanf("%d",length);

a = (int)malloc(sizeof(int)*length); /*申请一个内存空间用来存放数据,或者直接用一个大数组也可以*/

C语言设计函数查找元素位置

根据题意可得如下代码:

#include stdio.h

#include string.h

struct workers

{

char type[30];

int zj;

char name[30];

};

int findWorkerByTZ(struct workers a[], int n, char type[], int zj)

{

int i;

for (i = 0; i  n; ++i){

if (strcmp(a[i].type, type) == 0  a[i].zj == zj){

return i;

}

}

return -1;

}

int main()

{

struct workers a[10] = {{"teacher", 4, "aa"}, {"student", 1, "bb"}, {"teacher", 5, "cc"}};

int n = 3;

int index = findWorkerByTZ(a, n, "teacher", 4);

if (index == -1){

printf ("not found\n");

}

else {

printf ("found it at %d\n", index);

}

return 0;

}


当前文章:c语言查找地点函数 查找数字位置c语言
文章路径:http://chengdu.cdxwcx.cn/article/docdoje.html