aa3sai3
aa3sai3
采纳率100%
2019-10-30 23:27

一个包含n(2<=n<=50)个实数的数列,从中找2个数,使得这两个数的差是最大的。

已采纳

问题分析:算式a-b,要使得值最大,那么,要求被减数a最大,减数b最小,从而使得a-b最大。从数列中,找出最大的数,存入max变量;找出最小的数,存入min变量。显然,max-min的值是最大的。
输入:两行,第一行一个正整数,表示数列中的实数个数n;
第二行,n个数,表示数列的n个实数;
输出:一行一个数,表示数列的最大差值(保留2位小数)。

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

2条回答

  • caozhy 回答这么多问题就耍赖把我的积分一笔勾销了 2年前
    #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);
    }
    
    
    点赞 2 评论 复制链接分享
  • qq_36479735 你说啥都对 2年前

    这个问题分析的一下可以知道解决问题的思路
    1 先用冒泡排序,比如arr[0]放最小,arr[49]放最大
    2 打印 arr[49]- arr[0]

    点赞 评论 复制链接分享