最大商



Coursera上北大《计算概论A》期中试题

【描述】

给定一组数,前后相邻的两个数相除,输出商最大的两个数及商的值。

【输入】

第一行为数组中浮点数的个数nn大于2,其余n行为每一行一个浮点数(使用float类型)。

【输出】

前两个数是相除的两个数,最后一个数为最大的商值。

【输入示例】

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

C代码】

---------------

#include<stdio.h>

int main(void) {

    /* 数字的个数 */

    int i, n;

    /* maxq记录截止当前的最大商,初始为0

       maxn记录最大商的分子

       maxd记录最大商的分母

    */

    float maxq = 0;

    float maxn = 0;

    float maxd = 0;

    /* last2记录当前数的前一个数

       last记录当前数

    */

    float last2;

    float last;

    scanf("%d", &n);

    /* 输入第一个数,且无需比较 */

    scanf("%f", &last);

    for(i = 1; i < n; ++i) {

        /* 更新本次读入的数 */

        last2 = last;

        scanf("%f", &last);

        if(maxq < last2 / last) {

            maxq = last2 / last;

            maxn = last2;

            maxd = last;

        }

    }

    printf("%f / %f = %f\n", maxn,maxd, maxq);

    return 0;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值