6-4 求一组数最小值及其位置 (6 分)本题要求实现一个函数,求一组数最小值及其第一次出现的位置。函数接口定义:int Min(int *p, int n,int *pos );其中 p

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

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

函数接口定义:

 
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

 

void fun (int x, int *px)
{
    int r,s,a=x;
    s=0;
    while(x)
    {
        r=x%10;
        if(r%3==0)
        {
            s=s*10+r;
        }
        x/=10;
    }
    if(s>0)
   { *px=0;
    while(s)
    {
r=s%10;
        s/=10;
        *px=*px*10+r;
    }}
    else
    {
        *px=a;
    }
}




void fun (int x, int *px)
{
    *px=0;
    int a=x,g=0,r;
    while(a)
    {
        r=a%10;
        a/=10;
        if(r%3==0)
        {
            *px=*px*10+r;
         g++;
        }
    }
    if(g==0)
        *px=x;
            else{
                a=*px;
                *px=0;
                while(a)
                {
                    r=a%10;
                    a/=10;
                     *px=*px*10+r;
                }
            }
}

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值