6-5 求一组数最小值及其位置 (12 分)

本文介绍如何使用C语言实现函数intMin,通过指针遍历数组,找出最小值及其首次出现位置,适合理解指针与数组关系的基础开发者。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本题要求实现一个函数,求一组数最小值及其第一次出现的位置。

函数接口定义:


int Min(int *p, int n,int *pos );

其中 p、n、pos 都是用户传入的参数。函数求数组中n个元素的最小值及其第一次出现的位置。位置通过 pos带回,函数返回最小值 。

裁判测试程序样例:


#include <stdio.h> #define N 5 int Min(int *p, int n,int *pos ); int main() { int a[10],i,min,min_pos; int *pa=a; for(i=0;i<N;i++) scanf("%d",&a[i]); min=Min(pa,N,&min_pos); printf("min=%d,min_pos=%d",min,min_pos); return 0; } /* 请在这里填写答案 */

输入样例:

在这里给出一组输入。例如:

90 60 78 40 55

输出样例:

在这里给出相应的输出。例如:

min=40,min_pos=3
int Min(int *p, int n,int *pos )
{
    int min=*p;
    *pos=0;//最小值就是第一个的情况
    for(int i=1;i<n;i++)
    {
        if(*(p+i)<min)
        {
            min=*(p+i);
            *pos=i;
        }    
    }
    return min;
}    

 此题思路不难,就是找最小值并且返回第一次出现的位置。只不过要换成指针来做,就涉及到指针与数组的等价关系,将数组部分换成指针即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值