Bailian2695 最大商【最值】

2695:最大商
总时间限制: 5000ms 内存限制: 65536kB
描述
给一组数,前后相邻的两个数相除,输出商最大的两个数及商的值。
输入
第一行为数组中浮点数的个数n,n大于2,其余n行为每一行一个浮点数。
输出
以下面的形式输出结果,前两个数是相除的两个数,最后一个数为最大的商值。
printf("%f / %f = %f\n", a[maxi-1], a[maxi], maxq);
样例输入
10
41.0
18467.0
6334.0
26500.0
19169.0
15724.0
11478.0
29358.0
26962.0
24464.0
样例输出
18467.000000 / 6334.000000 = 2.915535
提示
应使用动态数组保存输入的浮点数。
运算过程中应只使用float类型的浮点数。
来源
计算概论05

问题链接Bailian2695 最大商
问题简述:(略)
问题分析:最值问题,迭代计算一下,找出最大商。不用数组也是可以实现的。n>=2,保证可以先算出一个商来。这个题需要一个前提,就是所有的数中没有0。
程序说明:(略)
参考链接:(略)
题记:存储空间要能省则省。

AC的C++语言程序如下:

/* Bailian2695 最大商 */

#include <iostream>
#include <cstdio>

using namespace std;

int main()
{
    int n;
    float a, b, maxq, d1, d2;

    scanf("%d%f%f", &n, &a, &b);
    d1 = a, d2 = b;
    maxq = d1 / d2;
    for(int i = 3; i <= n; i++) {
        a = b;
        scanf("%f", &b);
        if(a / b > maxq) {
            maxq = a / b;
            d1 = a, d2 = b;
        }
    }

    printf("%.6f / %.6f = %.6f\n", d1, d2, maxq);

    return 0;
}

/* 商:Quotient 除数:Divisor 被除数:Dividend*/
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值