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

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

C代码和运行结果如下:

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

附源码:

#include <stdio.h>

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

    int i

    for (i = 0i <ni++) {

        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

}

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

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

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

我给你重写了算了

#include<stdio.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)/*申请一个内存空间用来存放数据,或者直接用一个大数组也可以*/

#include<stdio.h>

int main()

{

int a[5]

int i,max,min

printf("input number:\n")

for(i=0i<5i++)

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

max=a[0]

min=a[0]

for(i=0i<5i++){

if(a[i]>max)

max=a[i]

}

for(i=0i<5i++){

if(a[i]<min)

min=a[i]

}

for(i=0i<5i++){

printf("%d",a[i])

printf(" ")

}

printf("\n")

printf("最大值为%d\n",max)

printf("最小值为%d\n",min)

return 0

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/8100648.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-13
下一篇 2023-04-13

发表评论

登录后才能评论

评论列表(0条)

保存