c语言求一维数组最大值

c语言怎么编写函数,找出一维数组中的最大值和最小值,并计算出数组元素的平均值?

前面已经有两位高手做出了回答,我运行了一下,《怺逺恒暒》有时候得不到正确的结果;《kaixingui2012》的不能运行,提示类型不对。不知道什么原因,也许是我的版本有问题?

我也做了一个,感觉运行还是不错的。请比较吧!

#include “stdio.h”

double fun(double a[],int n,int *max,int *min);/*函数原型声明:其中a为数组,

n为数组元素个数,max指向最大数,min指向最小数,函数返回值为平均值*/

int main()

{

double b[10],aver;

int x,y=10,max=0,*ma=max,min=0,*mi=min;

for(x=0;xy;x++){b[x]=x*(x-8.25)*0.1;printf(“数%d=%f\n”,x,b[x]);}

aver=fun(b,y,ma,mi);

printf(“最大的数为第%d个数(%f),最小的数为第%d个数(%f),平均值为%f”,*ma,b[*ma],*mi,b[*mi],aver);

return 0;

}

double fun(double a[],int n,int*max,int*min)

{

int i;

double sum=0;

double max1=a[0],min1=a[0];

*max=0;

*min=0;

for(i=0;in;i++)

{

if(a[i]max1){*max=i;max1=a[i];}

if(a[i]min1){*min=i;min1=a[i];}

sum=sum+a[i];

}

printf(“sum=%f,n=%d\n”,sum,n);

return sum/n;

}

c语言求一维数组最大值

一维数组的最大值 C语言

我还是从变成思想开始跟你说吧:

正如实际中一样,我们所谓的最大是通过比较出来的,程序中也一样,对于一个数组,她里面的数很多,必须通过一一比较来决定谁最大。在这里我们可以取一个初始的比较值,不如就用数组的第一个元素。然后从第二个开始比较,把两两比较后大的数放在一个变量Max里。这样,通过全部比较Max里的数不就是该数组中最大的数了。

程序如下:

#include “stdio.h”

int main()

{

int a[100];

int i=0;

int Max=a[0];

for(i=0;i100;i++) if(Maxa[i]) Max = a[i];

printf(“%d”,Max);

}

当然这个100是可以变的,表示你要比较的数组的元素个数,可以根据实际要比较的数组大小来改变

在c语言中一维数组求最大值

#includestdio.h

main()

{

int

a[N]={};//已知数组

int

max=a[0];//保存最大值

int

min=a[0];//保存最小值,先初始化为数组第一个元素

for(int

i=1;iN;i++)//循环判断

{

if(a[i]max)//判断最大值

max=a[i];

if(a[i]min)//判断最小值

min=a[i];

}

//输出

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

}

C语言求一个数组的最大值?

C语言程序如下:

#include stdio.h

void fun(int a[],int n,int *k)

{

int i,maxxr,j;

maxxr=a[0];

for(i=0;in;i++)

{

if(maxxra[i])

{

maxxr=a[i];

}

}

for(i=0;in;i++)

{

if(maxxr==a[i]){

j=i;

break;

}

}

*k=j;

}

int main(void)

{

int a[10]={ 876,675,896,101,301,401,980,431,451,777},k;

fun(a, 10, k);

printf(“%d,%d”, k, a[k]);

}

扩展资料:

思路:

1、先定义数组(其数组长度取最大值,题目要求为10),然后通过for循环给数组一个个赋值,即可得到一个数组;

2、找数组的最大值,这一步是最关键的一步,由于所输入的值不确定那个是最大值,故可以先设置另一个一个变量(index)来存储最大值变量的下标。

3、紧接着继续在数组里for循环,逐一跟下标为index的值相比较,如果比下标为index的值大,这时候就将两者中数值大的下标赋值给index。

4、按要求输出。

C语言 编程有一个含有10个元素的一维数组,求其中的最大值。

#include stdio.h

int main()

{

    int a[10];

    int i;

    int max;

    

    for(i = 0; i  10; i ++)

        scanf(“%d”,a[i]);

    max = a[0];

    for(i = 1; i  10; i ++)

        if(max  a[i]) max = a[i];

    printf(“最大值=%d\n”, max);

    return 0;

}

C语言 求一维数组中最大值的位置

求出数组长度,设立一个变量imax记录当前最大值的下标;对数组进行遍历比较,总是把最大值的下标赋给imax,遍历完成后imax即为所求位置。

//#include “stdafx.h”//If the vc++6.0, with this line.

#include “stdio.h”

int main(void){

    int a[]={1,6,18,19,13,5,2,20,3,4,12,14,15,16,17,7,8,9,10,11},i,imax,ln;

    for(ln=sizeof(a)/sizeof(int),i=imax=0;iln;i++)

        if(a[imax]a[i])

            imax=i;

    printf(“The maximum is the subscript of %d elements.\n”,imax);

    return 0;

}

本文来自投稿,不代表【】观点,发布者:【

本文地址: ,如若转载,请注明出处!

举报投诉邮箱:253000106@qq.com

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2024年3月25日 21:50:04
下一篇 2024年3月25日 21:57:12

相关推荐

  • c语言改写模式,c语言实现修改功能

    c语言程序修改? 1、这个程序有4个错误,我都加粗了,第一个是m没有赋初值,第二个是while表达式中的ch=getchar()需要括号括起来,第三个是m=m*10+ch-0中的0也需要用单引号括起来,第四个是第2个while中为m!=0。 2、define容易造成误会,因为不符合一般的编程习惯,false 0, true 1;scanf放在你的那个地方是达…

    2024年5月23日
    4100
  • c语言控制代码的换码序列,c语言交换代码

    求C语言编程大神解答一下下面这个编程代码? k==5,用5去除125余0,所以r=125%5中r为0。由于!0为1,所以执行while循环体:先打印出5(k的值),再n=n/k==125/5=25;由于251则再打印出*号。这一循环结果输出是5*。 下面是我的代码,三个函数分别对应三个问题。 在实现基本要求的前提下,拓展了可以从键盘输入的功能,以下为各题代码…

    2024年5月23日
    5800
  • c语言自定义函数数组求和,c语言自定义函数调用数组

    C语言数组怎样求和, 可以通过循环遍历数组中的每个元素,并进行累加。累加的结果可以保存在变量中,需要注意,要保证变量足够保存累加结果,不会出现溢出。 先获取数组长度,然后用for循环,从数组中获取值进行累加求和。 c语言中,定义数组后可以用sizeof命令获得数组的长度(即可容纳元素个数)。但是通过传递数组名参数到子函数中,以获得数组长度是不可行的,因为在子…

    2024年5月23日
    4500
  • java对数组计算,java数组计算时间复杂度

    Java中数组运算 1、很简单,因为你的数组是局部变量,只在那个声明它的方法里能用,解决办法是: 把它设置为属性; 作为方法的返回值。 2、将它们相加,并将结果存储到result数组中相应的位置。- 最后返回result数组即可。需要注意的是,上面的代码中我们使用了三元运算符 ? : 来判断数组的下标是否越界,如果越界则将值设为0。 3、public sta…

    2024年5月23日
    5200
  • c语言扫描io脚状态,c语言端口扫描

    求51单片机的上升沿和下降沿C语言检测程序列子,端口就是普通IO口。 上升沿触发是当信号有上升沿时的开关动作,当电位由低变高而触发输出变化的就叫上升沿触发。也就是当测到的信号电位是从低到高也就是上升时就触发,叫做上升沿触发。 单片机怎么计算1s内下降沿的个数的C语言程序或者计算两个下降沿的时间(检测脉冲频率)计算1s内下降沿的个数方法是,一个定时器设置定时1…

    2024年5月23日
    4500
  • c语言mallloc使用的简单介绍

    C语言中使用malloc必须加#includemallo.h? 1、在C语言中使用malloc函数进行动态内存分配。malloc的全称是memory allocation,中文叫动态内存分配。原型:extern void malloc(unsigned int num_bytes);功能:分配长度为num_bytes字节的内存块。 2、你可以看一下C语言那本…

    2024年5月23日
    4500
  • c语言三位小数,C语言三位小数

    怎样用C++语言输出精确到小数点后三位的数? 1、用C++语言输出精确到小数点后三位的数,可以参考下面给出的代码:coutsetiosflags(ios:fixed)setprecision(3)。其中 setiosflags中set是设置的意思。ios是iostream的缩写,即输入输出流。flags是标志的意思。 2、要精确到小数点后若干位,则数据类型为…

    2024年5月23日
    7500
  • c语言21点游戏,二十一点游戏代码c语言

    如何使用C语言编写简单小游戏? 1、数学知识:长方形的面积S=a*b 长方形周长L=2*(a+b)其中a b分别为长方形的宽和高。算法分析:长方形面积及周长均依赖于宽和高,所以先要输入宽高值,然后根据公式计算,输出结果即可。 2、/*也不知道你是什么级别的,我是一个新手,刚接触编程语言,以下是我自己变得一个小程序,在所有c语言的编译器(vc++0、turbo…

    2024年5月23日
    6500
  • c语言当中的null,C语言当中的符号

    C/C++中,NULL和null的区别是什么? nul 和 null要看编译器,不同的编译器有所区别。 所以C或者C++中都使用一个特殊定义NULL表示无效值,其本质就是未定义具体数据类型的0值。 null是是什么都没有的意思。在java中表示空对象。 本意是“空的;元素只有零的”意思。计算机中通常表示空值,无结果,或是空集合。\x0d\x0a在ASCII码…

    2024年5月23日
    4700
  • 包含c语言对txt文件命名的词条

    如何在C语言编程里面修改源文件名字 如果你是在WINDOWS的话,简单了,随便用个编辑器,比如记事本,然后写c源程序,保存到你想要保存的位置。如果你在DOS下,可以用edit,写好以后,按alt键,选择文件菜单,然后保存。 用open打开文件,注意操作模式使用“修改”或者“添加” 用write或者fprintf向文件中写入你的内容。 用close关闭文件。 …

    2024年5月23日
    5000

发表回复

登录后才能评论



关注微信