7 35 有理數均值

2022-05-01 13:54:12 字數 1037 閱讀 8657

7-35 有理數均值(20 分)

本題要求編寫程式,計算n個有理數的平均值。

輸入第一行給出正整數n(≤100);第二行中按照a1/b1 a2/b2 …的格式給出n個分數形式的有理數,其中分子和分母全是整形範圍內的整數;如果是負數,則負號一定出現在最前面。

在一行中按照a/b的格式輸出n個有理數的平均值。注意必須是該有理數的最簡分數形式,若分母為1,則只輸出分子。

4

1/2 1/6 3/6 -5/10

1/6
2

4/3 2/3

1

思路:每輸出乙個數將其化成最簡分數,防止溢位,輸入完數以後分母乘n,在在進行一次化簡;在輸出的時候考慮分子等於零的情況,這是乙個測試點;還要考慮分母等於零的情況。

#include#include

#include

#include

using

namespace

std;

void f(int &a, int &b) //

將兩個數化成最簡分數形式

int flag = a > b ?b : a;

for (int i = flag; i >= 1; i--)

}if (cnt == 1)a *= -1;}

intmain()

b *=n;

f(a, b);

if (a == 0)cout << 0

<< endl; //

這是第四個測試點,千萬記得

else

if (1 == b)cout << a

%d/%d\n

", a, b);

return0;

}

7 35 有理數均值 20point s c

本題要求編寫程式,計算n個有理數的平均值。輸入格式 輸入第一行給出正整數n 100 第二行中按照a1 b1 a2 b2 的格式給出n個分數形式的有理數,其中分子和分母全是整形範圍內的整數 如果是負數,則負號一定出現在最前面。輸出格式 在一行中按照a b的格式輸出n個有理數的平均值。注意必須是該有理數...

有理數均值

本題要求編寫程式,計算n個有理數的平均值。輸入第一行給出正整數n 100 第二行中按照a1 b1 a2 b2 的格式給出n個分數形式的有理數,其中分子和分母全是整形範圍內的整數 如果是負數,則負號一定出現在最前面。在一行中按照a b的格式輸出n個有理數的平均值。注意必須是該有理數的最簡分數形式,若分...

PTA習題 7 35 有理數均值 20分

本題要求編寫程式,計算n個有理數的平均值。輸入格式 輸入第一行給出正整數n 100 第二行中按照a1 b1 a2 b2 的格式給出n個分數形式的有理數,其中分子和分母全是整形範圍內的整數 如果是負數,則負號一定出現在最前面。輸出格式 在一行中按照a b的格式輸出n個有理數的平均值。注意必須是該有理數...