首页 > 其他分享 >指针应用-查找数组元素(PTA)C语言

指针应用-查找数组元素(PTA)C语言

时间:2025-01-19 20:28:01浏览次数:3  
标签:下标 数组 int 样例 PTA C语言 查找 findX

编写一个名为findX的函数,该函数的参数p指向一个int数组,数组的容量n由参数2指定。在该数组中,查找数据x所在的位置。如果数据x有出现多次,则返回其最后一次出现的位置对应的下标。如果没有找到,则固定返回-2

int findX(int *p,int n,int x);

函数接口定义:

int findX(int *p,int n,int x);

在这里解释接口参数。例如:其中 pn以及x 都是用户传入的参数。 p 是一个指针,指向的数组中有 n 个元素,在该数组中查找数据 x 最后一次出现的位置。

如果找到数据,返回其在数组中的最后一次出现位置的下标;如果没有找到,函数固定返回-2。

裁判测试程序样例:


#include<stdio.h>
#define N 12

//p指向int数组,数组容量为n,要找的数据是x 
int  findX(int *p,int n,int x);

int  main()
{
    int a[N];//int数组 
    int i,x; //循环变量i,要查找的整数x 
    int iRet; //函数调用的返回值
    
    //接收输入
    for(i=0; i<N;i++) 
      iRet = scanf("%d", &a[i]);
    iRet = scanf("%d",&x);
    
    //处理,调用函数 
    iRet=findX(a,12,x); //在名为a的容量为12的数组中,寻找数据x是否存在 
    
    if ( iRet < 0)
      printf("Not Found\n");
    else
      printf("index=%d,value=%d" ,iRet ,a[iRet]);
}

/* 请在这里填写答案 */

输入样例:

第一行是数组元素的值。第二行的3,表示要在数组中查找数据3出现位置。

1 2 3 4 5 6 7 8 9 10 11 12
3

输出样例:

数据3是数组的第3个元素,所对应的下标是2。

index=2,value=3

代码:

int findX(int *p,int n,int x){
    int index=-2,i;
    for(i=0;i<n;i++){
        if(*(p+i)==x){
            index=i;
        }
    }
    return index;
}

愿我们都能成为我们想要去成为的人! 

每一次挑战,都是成长的机会。

相信自己,你比你想象的更强大。

 

 

标签:下标,数组,int,样例,PTA,C语言,查找,findX
From: https://blog.csdn.net/xinghuitunan/article/details/144807828

相关文章

  • C语言:分支语句详解
           所谓分支,就是在不同情况下输出不同结果。下面我们来学习分支语句:1.if语句1.1if    if语句的书写方法如下:if(表达式)语句       如果表达式值为真,那么我们就执行语句,若表达式值不为真(为假),就不执行。在C语言中,我们说非0为真,0为假。我......
  • C语言的应用|猜数字游戏
    目录1.引言2.rand(包含在中)3.srand(包含在中)4.time(包含在中)5.游戏代码showtime1.引言  哈喽,大家好,好久不见。今天小邓儿,将带咱们用C语言,来写一个小游戏——猜数字。不过,编写游戏之前。先给大家拓展一些相关知识点(●'◡'●)2.rand(包含在<stdlib.h>中)1.1 ......
  • 初识C语言
    1.什么是c语音C语言是一门通用计算机编程语言,广泛应用于底层开发。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个......
  • 大数据Hadoop中MapReduce的介绍包括编程模型、工作原理(MapReduce、MapTask、ReduceTas
    MapReduce概述MapReduce是Hadoop的核心项目之一,它是一个分布式计算框架,可用于大数据并行处理的计算模型、框架和平台,主要解决海量数据的计算,是大数据中较为熟知的分布式计算框架。MapReduce作为分布式计算框架,其底层思想采用的是“分而治之”,所谓的“分而治之”就是把一......
  • 比特c语言-分支与循环
      #分支与循环if语句目录if语句ifeg:输入一个整数,判断是否为奇数elseeg:输入一个整数,判断是否为奇数,如果是奇数打印是奇数,否则打印偶数嵌套ifeg:输入一个人的年龄关系操作符条件操作符eg:使用条件操作符表示代码逻辑eg:使用条件表达式找两个数中较大值逻辑操作符:&&,||,!eg:闰年的......
  • PTA:一维数组 简化的插入排序
    本题要求编写程序,将一个给定的整数插到原本有序的整数序列中,使结果序列仍然有序。输入格式:输入在第一行先给出非负整数N(<10);第二行给出N个从小到大排好顺序的整数;第三行给出一个整数X。输出格式:在一行内输出将X插入后仍然从小到大有序的整数序列,每个数字后面有一个空格。输......
  • C语言文件操作—看完还不会欢迎留言!不收藏就找不到了a!
    本章作为科普篇,大家在工作时可能用的很少,但不看白不看嘛!看完一定加深编程语言与计算机之间的理解! 我们看本章的几个重点:1:为什么要使用文件?2:什么是文件3:文件的打开与关闭4:文件的使用方式5:文件的顺序读写6:文件的随机读写(C语言阶段只需要掌握以上即可!)为什么要使用文件......
  • C语言-预处理命令
    1、预处理命令是以# 开头的指令        用于在编译前对源代码进行一些处理2、与#号相关的代码    1、#include                用于在源代码中引入其他文件。可以引入标准库的头文件,也可以引入自定义的头              ......
  • C语言 - 函数
    1、作用    1、可以让程序模块化    2、可以减少重复代码    3、提高程序的可读性、可维护性和重用性2、函数的三个部分    1、函数的定义        函数类型函数名(数据类型1形参1,数据类型2形参2,...)     ......
  • 在C语言中实现封装、继承和多态
    在C语言中,没有直接的支持封装、继承和多态等面向对象特性。C语言是结构化编程语言,通常通过函数和数据结构(结构体)来实现类似的功能。我们可以通过结构体、函数指针、和手动管理的对象生命周期来模拟C++中的面向对象的特性。下面我们将逐一讨论如何在C语言中实现封装、继承和多......