C语言程序设计求数组的最大值、最小值和平均值,并通过参数传递出来 15

主函数中读入一个整形数组,调用该函数,让后在主函数中输出数组的最大值、最小值和平均值(要求函数调用)大哥,平均只求错了,在帮帮忙呗... 主函数中读入一个整形数组,调用该函数,让后在主函数中输出数组的最大值、最小值和平均值(要求函数调用)大哥,平均只求错了,在帮帮忙呗 展开
 我来答
zehn_w
2011-01-16
知道答主
回答量:15
采纳率:0%
帮助的人:13.4万
展开全部
1 #include <stdio.h>
2
3 #define N 10
4
5 int max(int arr[], int n)
6 {
7 int i, max;
8 max = arr[0];
9
10 for(i = 1; i < n; i++)
11 {
12 if(max < arr[i])
13 max = arr[i];
14 }
15
16 return max;
17 }
18
19 int min(int arr[], int n)
20 {
21 int i, min;
22 min = arr[0];
23
24 for(i = 1; i < n; i++)
25 {
26 if(min > arr[i])
27 min = arr[i];
28 }
29
30 return min;
31 }
32
33 int avg(int arr[], int n)
34 {
35 int i, sum = 0;
36
37 for(i = 0; i < n; i++)
38 sum += arr[i];
39
40 return sum/n;
41 }
42
43 int main()
44 {
45 int i;
46 int array[N];
47
48 for(i = 0; i < N; i++)
49 scanf("%d", &array[i]);
50
51 printf("The max number in arr: %d\n", max(array, N));
52 printf("The min number in arr: %d\n", min(array, N));
53 printf("Avgrange: %d\n", avg(array, N));
54
55 return 0;
56 }

有思路没写出来,就是对语法没有完全掌握。自己多看看错误提示...
奔着悬赏来的!

// 看了上面两个人的答案,有点想说的就是,他们的主函数都是VOID类型,可能是理解不同,我个人建议写主函数的时候用int main( renturn 0;)这样的形式,因为程序结束后系统要获得一个状态。也是以后的一个好习惯。题外话了...
帐号已注销
2011-01-04 · TA获得超过414个赞
知道答主
回答量:132
采纳率:0%
帮助的人:56.6万
展开全部
//键盘输入10个整数,找出其中的最大值和最小值
#include<iostream.h>
void main()
{
int x[10],i,Max,Min,sum=0,aver=0;
cout<<"请输入十个整数:"<<endl;
for(i=0;i<=9;i++)
{
cin>>x[i];
}
Max=Min=x[0];
for(i=0;i<=9;i++)
{
if (x[i]>Max)
Max=x[i];
if (x[i]<Min)
Min=x[i];
sum=sum+i;
}
aver=sum/10.0;
cout<<"Max="<<Max<<endl;
cout<<"Min="<<Min<<endl;
cout<<"aver="<<aver<<endl;
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jayhou1986
2011-01-05 · TA获得超过1511个赞
知道小有建树答主
回答量:586
采纳率:81%
帮助的人:417万
展开全部
#include <stdio.h>
#include <stdlib.h>
#define LENGTH 10
int* fun(int *num)
{
int i, sum = 0;
int *p = (int *)malloc(sizeof(int)*3);
*p = *num;
*(p+1) = *num;
for (i = 1; i < LENGTH; ++i)
{
sum += num[i];
if (num[i] > *p)
*p = num[i];
if (num[i] < *(p+1))
*(p+1) = num[i];
}
*(p+2) = sum;
return p;
}
void main()
{
int a[LENGTH], i;
int *result; // 保存最大最小平均值
for (i = 0; i < LENGTH; ++i)
{
printf("请输入数组第%d个元素:", i+1);
scanf("%d", &a[i]);
}
result = fun(a);
printf("最大值:%d,最小值:%d,平均值:%g\n", *result, *(result+1), float(*(result+2))/LENGTH);
}
ps:只用了一个函数搞定
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
贼寇在何方
2011-01-04 · TA获得超过770个赞
知道小有建树答主
回答量:759
采纳率:0%
帮助的人:713万
展开全部
三个函数
int min( int array[] , int n )
{
int i=0, m=0;
for( i=1; i<n; i++ )
if( array[i] < array[m] )
m = i;
return m;
}
int max( int array[] , int n )
{
int i=0, m=0;
for( i=1; i<n; i++ )
if( array[i] > array[m] )
m = i;
return m;
}
int average( int array[] , int n )
{
double s = 0;
for( int i=0; i<n; i++ )
s += array[i];
return s/n;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式