#include <stdio.h>
int main()
{
double arr[50];
int n, i;
double max, min;
scanf("%d", &n);
for (i = 0; i < n; i++)
{
scanf("%lf", &arr[i]);
if (i == 0) max = min = arr[0];
if (max < arr[i]) max = arr[i];
if (min > arr[i]) min = arr[i];
}
printf("%.2lf", max - min);
}
一个包含n(2<=n<=50)个实数的数列,从中找2个数,使得这两个数的差是最大的。
问题分析:算式a-b,要使得值最大,那么,要求被减数a最大,减数b最小,从而使得a-b最大。从数列中,找出最大的数,存入max变量;找出最小的数,存入min变量。显然,max-min的值是最大的。
输入:两行,第一行一个正整数,表示数列中的实数个数n;
第二行,n个数,表示数列的n个实数;
输出:一行一个数,表示数列的最大差值(保留2位小数)。
- 点赞
- 写回答
- 关注问题
- 收藏
- 复制链接分享
- 邀请回答