shengxizi 发表于 2020-1-16 10:14:05

C语言指针

求求大佬,已经自闭

/*程序功能:输入一个整数n(1≤n≤10),然后输入n个整数存入数组a中,再输入一个整数x,在数组a 中*/
/*          查找 x,如果找到则输出相应的下标,否则输出"Not found"。*/
/*要    求:定义并调用函数search(int *list,int n,int x),在list指向的数组中查找元素x,若找到*/
/*          则返回相应下标,否则返回-1,其中:n为list指向数组的元素个数。*/
/*提    示:除在指定位置添加语句之外,请不要改动程序中的其他内容。*/

#include <stdio.h>
void main()
{
    int i, n,x, a, res;
        int search(int *p, int, int);

        printf("请输入一个正整数(1≤n≤10):");
        scanf_s("%d",&n);

        printf("请输入%d个整数:",n);
    for(i=0; i<n; i++) scanf_s("%d", &a);

        printf("请输入待查找整数:");
    scanf_s("%d", &x);

        /*请在两条星线间填入相应的代码, 调用search函数,查找整数x在数组a中的位置*/
        /************************************************************************/
       
       
        /************************************************************************/

        /*输出结果*/
    if(res==-1)printf("Not found\n");
        else printf("The position is %d\n", res);
}

/*在list指向数组中查找x,若找到,则返回相应下标,否则返回-1。n为数组元素个数*/
int search(int *p, int n, int x)
{
        int i, pos;

        /*请在两条星线间填入相应的代码, 查找x在指针p指向的含n个元素的数组中的位置*/
        /*要求:利用指针方法来处理。*/
        /*************************************************************************/

       
        /*************************************************************************/

    return pos;                /*返回结果*/
}

sunrise085 发表于 2020-1-16 10:54:02

这个题目很难吗?看着有点像是二级的考试题目,也就三五行代码而已。
#include <stdio.h>
int main()
{
    int i, n,x, a, res;
    int search(int *p, int, int);

    printf("请输入一个正整数(1≤n≤10):");
    scanf_s("%d",&n);

    printf("请输入%d个整数:",n);
    for(i=0; i<n; i++) scanf_s("%d", &a);

    printf("请输入待查找整数:");
    scanf_s("%d", &x);

    /*请在两条星线间填入相应的代码, 调用search函数,查找整数x在数组a中的位置*/
    /************************************************************************/
    res=search(a,n,x);   
   
    /************************************************************************/

    /*输出结果*/
    if(res==-1)printf("Not found\n");
    else printf("The position is %d\n", res);
}

/*在list指向数组中查找x,若找到,则返回相应下标,否则返回-1。n为数组元素个数*/
int search(int *p, int n, int x)
{
    int i, pos;
    /*请在两条星线间填入相应的代码, 查找x在指针p指向的含n个元素的数组中的位置*/
    /*要求:利用指针方法来处理。*/
    /*************************************************************************/
    pos=-1;
    for (i=0;i<n;i++)
    {
      if (*p==x)
      {
            pos=i;
            break;
      }
      p++;
    }
      
    /*************************************************************************/

    return pos;                /*返回结果*/
}

shengxizi 发表于 2020-1-16 10:55:36

sunrise085 发表于 2020-1-16 10:54
这个题目很难吗?看着有点像是二级的考试题目,也就三五行代码而已。

主要是不懂指针{:10_266:}
页: [1]
查看完整版本: C语言指针