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)、可能出错:略