求大神给我解答一道c语言的题目,急急急!! 20

编写一个函数,求n个数中的最大值、最小值、平均值。要求主函数完成20个数的输入,子函数完成统计,最后输出结果。此外,最大值及最小值采用全局变量实现怎么写呢老师布置的作业拜... 编写一个函数,求n个数中的最大值、最小值、平均值。要求主函数完成20个数的输入,子函数完成统计,最后输出结果。此外,最大值及最小值采用全局变量实现 怎么写呢 老师布置的作业 拜托了 一定给高分 展开
 我来答
浅吟低唱07
2013-06-22 · TA获得超过148个赞
知道小有建树答主
回答量:103
采纳率:0%
帮助的人:115万
展开全部

#include <stdio.h>

int max,min,sum=0;

void find(int a[],int n)

{

 int i;

 min=max=a[0];

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

 {

  if(min>a[i])

   min=a[i];

  if(max<a[i])

   max=a[i];

  sum+=a[i];

 }

}

void main()

{

 int a[20];

 printf("请输入20个数:\n");

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

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

 find(a,20);

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

 {

  printf("%4d",a[i]);

  if((i+1)%5==0)

   printf("\n");

 }

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

}

刚调试了,完成了要求!我还把输入的数给你输一遍出来!

希望我的回答对你有帮助!

I_lovetennis
2013-06-22 · 超过19用户采纳过TA的回答
知道答主
回答量:58
采纳率:100%
帮助的人:31.4万
展开全部
#include<stdio.h>
int max_num = 0;
int min_num = 0;
int ave_num = 0;
int FindMaxMinAve(int a[],int n)
{
int i;
int tmp_max = a[0];
int tmp_min = a[0];
int tmp_ave = 0;
int tmp_sum = 0;
for(i=1;i<n;i++)
{
if(a[i]>tmp_max)
{
tmp_max = a[i];
}
if(a[i]<tmp_min)
{
tmp_min = a[i];
}
tmp_sum+=a[i];
}
tmp_ave = tmp_sum/n;
ave_num = tmp_ave;
min_num = tmp_min;
max_num = tmp_max;
return 0;
}
int main(void)
{
int i;
int a[20];
for(i=0;i<20;i++)
{
scanf("%d",&a[i]);

}
FindMaxMinAve(a,20);
printf("maxnum is %d\n",max_num);
printf("minnum is %d\n",min_num);
printf("avenum is %d\n",ave_num);
fflush(stdin);
getchar();
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
飨宴_
2013-06-22 · TA获得超过131个赞
知道小有建树答主
回答量:136
采纳率:0%
帮助的人:97.6万
展开全部
#include <stdio.h>
double max,min,ave;
void count_max(double a[]) //求最大值 
{
int i;
max=a[0];
for(i=1;i<20;i++)
if(a[i]>max)
max=a[i];
}
void count_min(double a[]) //求最小值 
{
int i;
min=a[0];
for(i=1;i<20;i++)
if(a[i]<min)
min=a[i];
}
void count_ave(double a[]) //求平均值 
{
double sum=0;
int i; 
for(i=0;i<20;i++)
sum+=a[i];
ave=sum/20; 
}
int main()
{
    double a[20];
    int i;
    for(i=0;i<20;i++) //数据输入 
     scanf("%lf",&a[i]);
    
    count_max(a); //计算 
   count_min(a);
   count_ave(a);
  
    printf("最大值:%f\n",max); //输出 
    printf("最小值:%f\n",min); 
printf("平均值:%f\n",ave);   
    return 0;
}

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhiheng25
2013-06-22 · 超过61用户采纳过TA的回答
知道小有建树答主
回答量:130
采纳率:0%
帮助的人:144万
展开全部
#include "stdio.h"
#include "stdlib.h" 
#define NUM_COUNT 20
int g_max;
int g_min;
float g_avr;

int comp(const void * a, const void * b)
{
return *(int*)b - *(int*)a;
}

void main() 

int a[NUM_COUNT];
int sum = 0;

for (int i = 0; i< NUM_COUNT; i++)
{
scanf("%d",a+i);
sum +=a[i];
}

g_avr = sum/NUM_COUNT;

qsort(a,NUM_COUNT,4,comp);

g_max = a[0];
g_min = a[NUM_COUNT - 1];

printf("平均数:%f  \n最大数:%d   \n最小数:%d\n", g_avr, g_max, g_min);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式