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;x<y;x++){b[x]=x*(x-8.25)*0.1;printf("数%d=%f
",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;i<n;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
",sum,n);
return sum/n;
}

函数中 的比较要同 result 比,不是同 a[0] 比。
最大函数 if (a[i] > result) result=a[i];
最小函数 if (a[i] < result) result=a[i];

可以参考下面的代码:

int findMin(int szIn[], int size)

{

int tmpMin = szIn[0];

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

{

if(tmpMin <= szIn[i])

{

tmpMin = szIn[i];

}

}

return tmpMin;

}

扩展资料:

C语言isupper()函数:判断一个字符是否是大写字母

C语言isspace()函数:判断一个字符是否是空白符

C语言isprint()函数:判断一个字符是否是可打印字符

C语言islower()函数:判断一个字符是否是小写字母

C语言ldexp()函数:返回x乘以2的exponent次方(次幂)的值

int isdigit(int ch) 若ch是数字('0'-'9')返回非0值,否则返回0

参考资料来源:百度百科-c语言

参考资料来源:百度百科-C语言函数




int min=array[0];
for(int i=1;i<size;i++)
{
    if(min>a[i])
        {
            min=a[i];
            index=i;
        }
}
return min;


int findMin(int szIn[], int size)
{
    int tmpMin = szIn[0];
    for(int i = 0; i < size; ++i)
    {
        if(tmpMin <= szIn[i])
        {
            tmpMin = szIn[i];
        }
    }
    return tmpMin;
}


#include <stdio.h>
#define MAX_SIZE 100 //我随便写的,需要自己改
void get_array(int *array,int size)
{
printf("请输入:\n");
for(int i=0;i<size;i++)
scanf("%d",&array[i]);
}
int min_index(int *array,int size)
{
int min=array[0];
for(int i=1;i<size;i++)
if(array[i]<min)
min=array[i];
return min;
}
int main()
{
int array[MAX_SIZE], size, index;

scanf("%d", &size);
get_array(array, size);//上面已经给出函数
index = min_index(array, size);//在main函数前不用声明
printf("minimum number is %d, whose position is %d.\n", array[index], index);

return 0;
}

#include"stdio.h"

#define MAX_SIZE 100

void get_array(int a[],int size)

{int i;

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

scanf("%d",&a[i]);

}

int min_index(int a[],int size)

{int i,min=0;

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

if(a[i]<a[min])min=i;

 return min;

}

int main()

{

    int array[MAX_SIZE], size, index;

    scanf("%d", &size);

    get_array(array, size);

    index = min_index(array, size);

    printf("minimum number is %d, whose position is %d.", array[index], index);

system("pause");

    return 0;

}




用C语言编程.写出一函数,求出有N个元素的整数数组的最大值及其下标...
楼主,我的程序如下。函数max读入一个n元素的数组a,返回其中最大元素的地址。这样,在调用max的函数中(这里是main),可以通过两种运算分别得到最大元素的值和它的下标(见main中注释)include <stdio.h> int max(int * a, int n){ int i;int * p = a;for ( i = 0; i < n; i++ ...

C语言 编写函数,找出5*5数组主对角线上元素的最小值,并在主函数中调用...
include<stdio.h> int fun(int b[5][5]){int i,d;d=b[0][0];for(i=1;i<5;i++)if(b[i][i]<d)d=b[i][i];if(b[4][0]<d)d=b[4][0];if(b[3][1]<d)d=b[3][0];if(b[1][3]<d)d=b[1][3];if(b[0][4]<d)d=b[0][4];return d;} main(){int...

C语言编写用函数找出数组的最大值与最小值,然后交换位置(要求函数形参...
include<stdio.h> void fun(int* a,int* b,int* c,int *max,int *min){ max=*a;min=*a;if(*max<*b)max=*b;else if(*min>*b)min=*b;if(*max<*c)max=*c;else if(*min>*c)min=*c;} int main(){ int a=12,b=22,c=111;int max,min;fun(&a,&b,&c,&max,&min...

用c语言编写一个递归函数“int FF(int a【】,int n)”,求出数组a中所...
int abc(int a[],int n){ if(n==0)return a[0];else return a[n-1]*abc(a[],n-2);} 或:int ff(int a[],int n){ int sum=0;int i for(i=0;i<n;i++){ sum+=a[i];} return sum;}

用C语言编写一Total函数,求N行M列的二维数组中所有数的和
当行列较多,或元素数值较大时,和可能很大,所以Total函数用double送返。元素数值用 float 型 (允许输入float,int值)。N,M不定,所以动态分配数组。假定N,M大于等于2。include <stdio.h> include <stdlib.h> double Total(float **a,int N,int M) ; \/\/ 函数原型 main (int argc, char ...

C语言编程题 编写函数,求数组中元素的平均数
参数说明: a是一维浮点数数组,n是数组中的元素个数 下面的函数求a中元素的平均值,并返回。float Average(float* a, int n){ int i;float s = 0;\/\/ 求和 for (i = 0; i < n; i ++)s += a[i];s \/= n; \/\/ 求平均 return s;} \/\/ 测试 void main(){ float a[] =...

用c语言编写一个递归函数“int FF(int a【】,int n)”,求出数组a中所...
include<stdio.h>int FF(int a[],int n){if(n==1)return a[0]; return a[n-1]*FF(a,n-1);}int main(){int n=5,a[5]={1,2,3,4,5}; printf("%d\\n",FF(a,5)); return 0; }

给定主函数,编写三个函数input()、sort()、output(),分别实现数组元素...
include "stdio.h"void main(){ void input(int *a,int n); void sort(int *a,int n); void output(int *a,int n); int a[10]; input(a,10); sort(a,10); output(a,10);}void input(int *a,int n){ int i; for(i=0;i<n;i++) scanf("%d...

Linux编写两个函数,其中一个求数组中的最大值与最小值,另一函数求某...
(test1.c)include <stdio.h> void func1(int *arr, int n, int *max_num, int *min_num) { if (n == 0) return;min_num = *max_num = arr[0];if (n == 1) return;for (int i = 0; i < n; i++) { if (arr[i] > *max_num) *max_num = arr[i];if (arr...

C语言 编写函数,分别对数组A中胡奇数值的元素和偶数值的元素求和及求...
include <stdio.h> struct{ int* arr; \/\/数组首地址 int arr_num; \/\/数组个数 int even_sum; \/\/奇数值元素和 int odd_sum; \/\/偶数值元素和 float even_avg; \/\/奇数值元素均值 float odd_avg; \/\/偶数值元素均值 }Array;void fun(struct Array* pArray){ int num=pArray->arr_num;...

龙马潭区19287885774: C语言求数组元素中的最小值 -
浑宋海凌: 编译不通过是因为少了char St[20]分号. 但既然是数字比较,数组用int定义比较好,另外求最小值的函数里min最好初始化为Str[0],因为如果数组里所有数都大于0的话,你求到的最小值会是0,而不是数组里的数 #include<stdio.h> int array(int n,...

龙马潭区19287885774: c语言程序设计:求数组中的最小数 -
浑宋海凌: /**************************************************VC6.0运行通过*****************************************/#include #include int getminitem(int arr[],int *minItem) { int length = 0; int *p = arr; while(*p != NULL) //先求数组长度 { length++; p++; } int ...

龙马潭区19287885774: C语言用自定义函数来实现求一个二维数组中最大值、最小值;平均值,并把结果输出 -
浑宋海凌: #include<stdio.h> int main() {int a[3][3]={1,2,3,4,5,6,7,8,9},i,max=a[0[0],min=a[0][0]; float aver,sum=0; int *p=&a[0][0]; for(i=0;i<9;i++) //i的限制条件是由数组的行数和列数的乘积决定的 {sum=sum+p[i];if(max<p[i])max=p[i];if(min>p[i])min=p[i]; } aver=sum/9; printf("最大值是:%d\n最小值是:%d\n平均值是:%f\n",max,min,aver); return 0; }

龙马潭区19287885774: 编写函数min(int b[10]) ,用来求数组a中元素的最小值.C语言 -
浑宋海凌: 主要个子函数 Min在c语言中系统没有定义,需要我们自己定义,安题目传参是一个数组,10个元素, 其实跟比较大小一样, Int min(int b[10]) Int i,m; M=b[0]; For(i=1;i<10;i++) If(m>b[i]) M=b[i]; Return m;这样子函数就好了 主函数应该没问题, 输入数组a 调用min(a[10]),记得这里传参是实参,要用a

龙马潭区19287885774: C语言编程中在许多值中取最小值怎么写 -
浑宋海凌: 定义一个变量,用来存储最小值.用循环来做比较,直到最后一个为止

龙马潭区19287885774: 求C语言高手编一个数组求最大值最小值的程序. -
浑宋海凌:#include #include #include #define NUM 4 int (*array)[NUM]; //数组指针 //初始化数组,包括N个数组,每个数组里NUM个随机整数值 void initData(int arrayNum) {array = (int (*)[])malloc(NUM*sizeof(int)*arrayNum);memset(array, 0x00, ...

龙马潭区19287885774: 10个数的数组中,求出数组中最大值、最小值、平均值.用C语言做,谢谢 -
浑宋海凌: #include "stdio.h" void main() { int i; float num[10],max,min,sum,ave; for(i=0;i scanf("%f",&num[i]); printf("\n"); max=num[0]; for(i=1;i if (num[i]>max) max=num[i]; min=num[0]; for(i=2;i if (num[i] min=num[i]; sum=0.0; for(i=0;i sum=sum+num[i]; ...

龙马潭区19287885774: c语言编写自定义函数,计算给定数组的最大值、最小值和平均值,并且返回最大值和最小值的下标. -
浑宋海凌: float calc(float *a, int n, int *min, int *max) {int i;int mi,ma;float s=0;mi=ma=0;for(i = 0; i < n; i ++){if(a[mi]>a[i]) mi=i;if(a[ma]<a[i]) ma=i;s+=a[i];}*min = mi;*max = ma; return s/n; }

龙马潭区19287885774: 请教c语言高手,关于数组求最小值和次小值 -
浑宋海凌: #include#define SIZE 8void find(int a[],int size,int*p1,int*ap1,int*p2,int*ap2);int ifmin(int a1,int a2);main(){ int a[SIZE]={5,15,25,76,16,45,55,...

龙马潭区19287885774: c语言输入10个数放入数组中,求10个数的最大值和最小值与平均值 -
浑宋海凌: #include <stdio.h> int main() {int i;float sum, max, min, a[10];for (i = 0; i < 10; i++){ // 输入10个数值scanf("%f", &a[i]);}sum = max = min = a[0]; for (i = 1; i < 10; i++){if (a[i] > max) // 比较大小,得出最大值max = a[i];else if (a[i] < min) ...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网