主函数中读入一个整形数组,调用该函数,让后在主函数中输出数组的最大值、最小值和平均值(要求函数调用

如题所述

#include <stdio.h>
typedef struct
{
int max;
int min;
int aver;
}FINDVALUE;
FINDVALUE value;
void Swap(int array1, int array2)
{
int temp;
temp = array1; array1 = array2; array2 = temp;
}
void FindMaxMinValue(int array[])
{
int i;
int len = strlen(array);
int sum;
sum = value.max = value.min= array[0];
for (i = 1; i < len; i++)
{
if (value.max < array[i])
Swap(value.max, array[i]);
if (value.min > array[i])
Swap(value.min, array[i]);
sum += array[i]
}
value.aver = sum/len;
printf(value.max); //最大值
printf(value.min); //最小值
printf(value.aver);//平均值
}
int main()
{
int array[50];
for (int i = 0; i < strlen(array); i++)
{
scanf("%d", *(array+i));
}
FindMaxMinValue(array);
return 0;
}

参考资料:r

温馨提示:内容为网友见解,仅供参考
第1个回答  2011-01-05
.因为没说这组数由多少,所以设置最大100,且将-9999设置为输入这组数的结束标志
#include<stdio.h>
void fun(int x[],int n,float y[3])/*数组x为这组数,n为这组数的个数,数组y存放最大值、最小值和平均分*/
{
y[0]=y[1]=y[2]=x[0];/*这三个值起始设为第0号元素值*/
for(int k=1;k<n;k++)/*用第0号元素与剩下的数逐个比较,找出所求*/
{
if(x[k]>y[0])y[0]=x[k];/*找最大值*/
if(x[k]<y[1])y[1]=x[k];/*找最小值*/
y[2]+=x[k];/*求这组数的和*/
}
y[2]/=n;/*求平均值*/
}
void main()
{
int a[100],i;
float b[3];
printf("请输入一组数据,以-9999结束:\n");
for(i=0;;i++)
{
printf("No.%d:",i+1);
scanf("%d",&a[i]);
if (a[i]==-9999) break;
}
fun(a,i,b);/*通过函数调用传回参数数组b,即所求数值*/
printf("该组数中的最大值为%d,最小值为%d,平均值为%f\n",(int)b[0],(int)b[1],b[2]);
}
第2个回答  2011-01-05
问题补充:主函数中读入一个整形数组,调用该函数,让后在主函数中输出数组//键盘输入10个整数,找出其中的最大值和最小值 #include
第3个回答  2011-01-05
这位同学,我是你们C语言程老师,请独立完成作业,照着百度知道上抄写的都不给分。

...输入一个一维整型数组,并找出数组元素中最大值和最小值及其相应下标...
1.编程实现:对任意一个一维数组,从中找出数组元素的最大值和最小值。要求:(1)数组为整型数组(10个元素)。(2)使用scanf函数实现数组元素的输入。在输入前给出必要的提示。(3)输出时给出必要的说明,首先输出原始的10个元素,换行后输出最大值以及最大值在数组中的位置、最小值以及最小值...

C++用函数输出整形数组中的最大值和次大值
double max=arr[0];for (int i=1;i<size;i++)if(max < arr[i]) max = arr[i];return max;}

在主函数中输入一个矩阵,调用函数对其进行转置,在主函数中输出结果
其次,你这个子函数的返回值正常情况下是只能有一个的,用指针和定义数组子函数是可以返回很多值,但不属于通常意义下的范畴。你用for循环不断的return是不对的,编译不会通过。如果你害怕return值做不好,可以在把子函数定义为void型。调用的时候还有个最重要的知识点:传值和传址要看透彻,如果以后想...

求给定一个整数数组中的最大值
这段 C 代码定义了一个函数 findMax,该函数接受一个整数数组和数组的大小作为参数,并返回数组中的最大值。在 main 函数中,我们创建了一个示例整数数组并调用 findMax 函数来找到最大值,并将结果输出到控制台。include <stdio.h> \/\/ 函数声明 int findMax(int arr[], int n);int main() ...

c语言编写一个函数,找出一维数组中的最大值和最小值,并计算出数组元素的...
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\\n",x,b[x]);} aver=fun(b,y,ma,mi);printf("最大...

...数组n个元素中的数值最大和最小数之和,主函数调用并输出。
include<stdio.h> int max_min(int *a, int len){ int max=a[0],min=a[0];int i;for(i=1; i<len; i++){ if(max < a[i]) max=a[i];if(min > a[i]) min=a[i];} return (max+min);} int main(){ int a[]={1,3,5,7,9};printf("%d\\n",max_min(a,5))...

...数组中具有最小值元素的下标,并在主函数中调用,输出最小者_百度知...
include "stdio.h"#define N 5int min(int s[]){int i,min;min=s[0];for(i=0;i<N;i++)if(min>s[i])min=s[i];for(i=0;i<N;i++)if(min==s[i])break;return i;}void main(){ int a[N],i,j; printf("输入%d个整数\\n",N); for(i=0;i<N;i++) ...

编写一个函数,找出一个数组中的最大值和最小值。
int Max_Min(int *array, int arrayNum){ int max;int min;if(arrayNum==0){ return -1;} else { max=array[0];min=array[0];for(int i=0; i<arrayNum; i++){ if(max<array[i]){ max=array[i];} if(min>array[i]){ min=array[i];} } } return 0;} 算出来的max和...

C语言,使用指针作为函数参数,写一求数组中最大值和最小指的函数
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...

C语言中怎样用指针找出一维数组中的最大值和最小值并输出它们的下标
1、新建一个工程和.c文件,并且输入主函数和头文件。2、定义全局变量。3、定义变量类型。4、用两个for语句给数组元素赋值。5、调用求最小值的函数。6、函数的总体流程如下图。7、在主函数中输出结果,编译、运行,得到最后结果。

相似回答