为了账号安全,请及时绑定邮箱和手机立即绑定

求5个数中最大数和最小数的平均值。

求5个数中最大数和最小数的平均值。

C
慕粉2149038396 2016-12-26 00:47:22
求5个数中最大数和最小数的平均值。
查看完整描述

4 回答

?
Yexiaomo

TA贡献152条经验 获得超157个赞

#include <stdio.h>
int main()
{
	int arr[5];
	int i, temp;
	int min, max;
	float avg; 
	printf("请输入五个数(默认为整数):");
	for(i = 0; i < 5; ++i)
	{
		scanf("%d", &arr[i]);
		if( i == 0)
		{
			min = arr[i];
			max = arr[i];
			continue;
		}
		if( arr[i] > max)
		{
			temp = max;
			max = arr[i];
			arr[i] = temp;
			continue;
		}
		else if(arr[i] < min)
		{
			temp = min;
			min = arr[i];
			arr[i] = temp;
		}
	}
	
	avg = (min+max) / 2.0; //整数和会自动向上转型为浮点型, 或者写成下面
	avg = (float)(min+max) / 2; //做一下类型转换
	printf("5个数中最大数和最小数的平均值: %.2f", avg); //结果保留两位小数 

	return 0;
}


查看完整回答
1 反对 回复 2016-12-26
  • 望远
    望远
    这不是向上转型的问题,是丢失精度的问题,当最大值最小值和为奇数时,会取整。
  • Yexiaomo
    Yexiaomo
    是的, 差点就误导别人了,非常感谢。2忘写为2.0了
?
北木

TA贡献6条经验 获得超1个赞

使用数组的冒泡排序,得出最大和最小值。

查看完整回答
反对 回复 2016-12-26
?
望远

TA贡献1017条经验 获得超1032个赞

#include <stdio.h>
int main()
{
    int arr[5];
    int i, temp;
    int min, max;
    float avg; 
    printf("请输入五个数(默认为整数,以空格分隔):\n");
    for(i = 0; i < 5;i++)
    {
        scanf("%d", &arr[i]);
        if( i == 0)
        {
            min = arr[i];
            max = arr[i];
            continue;
        }
        if( arr[i] > max)
        {
            temp = max;
            max = arr[i];
            arr[i] = temp;
            continue;
        }
        else if(arr[i] < min)
        {
            temp = min;
            min = arr[i];
            arr[i] = temp;
        }
    }
     
    avg = (float)(min+max) / 2;
     
    printf("最大值为:%d 最小值为:%d 平均值:%.2f\n",max,min, avg); //结果保留两位小数 
}

//img1.sycdn.imooc.com//586084af0001af4a03710100.jpg

查看完整回答
反对 回复 2016-12-26
?
倒影的逆光

TA贡献1条经验 获得超0个赞

不知道你学了数组没有,a[变量],这个‘变量’可以存储数的个数。用数组较简单。

#include"stdio.h"

main()

{

int a[5],i,max=0,min;

    float ave;

for(i=0;i<5;i++){

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

if(a[i]>max)

  max=a[i];

}

min=a[0];

for(i=0;i<5;i++){

  if(a[i]<min)

    min=a[i];

}

ave=(max+min)/2.0;

printf("max=%d mix=%d ave=%f\n",max,min,ave);

}


查看完整回答
反对 回复 2016-12-26
  • 4 回答
  • 0 关注
  • 2413 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信