POJ 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类型的浮点数。
 
(1)、源代码:
#include <iostream>
#include <cstdio>
 
using namespace std;
 
int main()
{
                int i, n, t, max;
                float *num, *tem1;
                cin >> n;
                num = new float [n];
                tem1 = new float [n];
 
                for(i = 0; i < n; i++)
                                cin >> num[i];
                for(i = 0; i < n-1; i++)
                                tem1[i] = num[i] / num[i+1];
                max = 0;
                for(i = 1; i < n-1; i++)
                                if(tem1[i] > tem1[max])
                                                max = i;
                printf("%f / %f = %f\n", num[max], num[max+1], tem1[max]);
                return 0;
}
 
(2)、解题思路:略
(3)、可能出错:略
 
posted on 2012-05-02 22:12  谷堆旁边  阅读(494)  评论(0编辑  收藏  举报