最大商

来源:互联网 发布:nat123 80端口 免费 编辑:程序博客网 时间:2024/04/30 07:15


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;

}

0 0
原创粉丝点击