C语言,使用指针作为函数参数,写一求数组中最大值和最小指的函数

 我来答
问明6E
高粉答主

2019-06-04 · 每个回答都超有意思的
知道答主
回答量:279
采纳率:100%
帮助的人:12.9万
展开全部

#include<stdio.h>

voidhanshu(int*arry,intsize,int*m,int*n)

*m=arry[0];

*n=arry[1];

for(inti=0;i<size;i++)

if(arry[i]>*m)

*m=arry[i];

if(arry[i]<*n)

*n=arry[i];

intmain(intargc,constchar*argv[]){。

inta[]={1,5,6,2,3,8,9,7,4,5};//定义一个十个数据的数组

intmax;//存放最大值

intmin;//存放最小值

hanshu(a,10,&max,&min);//函数传送数组,并将最大值,最小值的地址传送

printf("Themaxnumberis%d\n",max);

printf("Theminnumberis%d\n",min);

return0;

扩展资料:

include用法:

#include命令预处理命令的一种,预处理命令可以将别的源代码内容插入到所指定的位置;可以标识出只有在特定条件下才会被编译的某一段程序代码;可以定义类似标识符功能的宏,在编译时,预处理器会用别的文本取代该宏。

插入头文件的内容

#include命令告诉预处理器将指定头文件的内容插入到预处理器命令的相应位置。有两种方式可以指定插入头文件:

1、#include<文件名>

2、#include"文件名"

娱乐小八卦啊a
高粉答主

2020-05-17 · 娱乐小八卦,天天都知道
娱乐小八卦啊a
采纳数:256 获赞数:117860

向TA提问 私信TA
展开全部

#include <stdio.h>

void maxminvalue(int b[], int n); /*propotype*/

int max, min;/*define global variables*/

void main()

{

int i, a[] = {21,34,11,45,89,26,87,39,63,50}, n;

 n = sizeof(a)/sizeof(a[0]);

maxminvalue(a, n);                     /*call function*/

printf("min=%d, max=%d\n",min,max);

}

void maxminvalue(int b[], int n)

{

int i;

    max=min=b[0];           /*initialization*/

    for (i = 1; i < n; i++)

    {

        if (b[i] < min)

            min = b[i];

        else if(b[i] > max)

            max = b[i];

    }

}

扩展资料

C语言指针变量作为函数参数

在C语言中,函数的参数不仅可以是整数、小数、字符等具体的数据,还可以是指向它们的指针。用指针变量作函数参数可以将函数外部的地址传递到函数内部,使得在函数内部可以操作函数外部的数据,并且这些数据不会随着函数的结束而被销毁。

像数组、字符串、动态分配的内存等都是一系列数据的集合,没有办法通过一个参数全部传入函数内部,只能传递它们的指针,在函数内部通过指针来影响这些数据集合

有的时候,对于整数、小数、字符等基本类型数据的操作也必须要借助指针,一个典型的例子就是交换两个变量的值。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
风若远去何人留
推荐于2016-09-22 · 知道合伙人互联网行家
风若远去何人留
知道合伙人互联网行家
采纳数:20412 获赞数:450132
专业C/C++软件开发

向TA提问 私信TA
展开全部

思路:

1 函数参数设计:数组首地址(指针),数组长度(int),最大值及最小值(两个指针)。

2 以第一个数为最大/最小值。

3 遍历其余数,与最大/最小值比较,如果更大/小,则替换该值。

当遍历结束,则得到最大及最小值。

代码:

void get_min_max(int *a, int l, int *min, int *max)
{
    int i;
    *min = *max = *a;
    for(i = 1; i < l; i ++)
    {
        if(*min > a[i]) *min = a[i];
        if(*max < a[i]) *max = a[i];
    }
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Cca223431
2019-03-05 · TA获得超过158个赞
知道答主
回答量:10
采纳率:0%
帮助的人:5741
展开全部

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
丶风丿图腾
推荐于2019-03-06
知道答主
回答量:19
采纳率:100%
帮助的人:16.9万
展开全部
#include<stdio.h>
#define N 10
void main()
{
float a[N],i,*max,*min;
max=a;
min=a;
for(i=0;i<N;i++)
{
scanf("%f",a[i]);
}
for(i=0;i<N;i++)
{
*max=(a[i]>*max)?a[i]:*max;
*min=(a[i]<*min)?a[i]:*min;
}
printf("max=%f\tmin=%f\n",*max,*min);
}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式