本題要求編寫程式,計算兩個有理數的和。
輸入格式:
輸入在一行中按照a1/b1 a2/b2的格式給出兩個分數形式的有理數,其中分子和分母全是整形範圍內的正整數。
輸出格式:
在一行中按照a/b的格式輸出兩個有理數的和。注意必須是該有理數的最簡分數形式,若分母為1,則只輸出分子。
輸入樣例1:
1/3 1/6
輸出樣例1:
1/2
輸入樣例2:
4/3 2/3
輸出樣例2:
#include
#include
#include
using
namespace
std;#
int gongyue(int a,int b)
else
}return a;
}int main(void)
else
return
0;}
本題要求編寫程式,計算n個有理數的平均值。
輸入格式:
輸入第一行給出正整數n(\le≤100);第二行中按照a1/b1 a2/b2 …的格式給出n個分數形式的有理數,其中分子和分母全是整形範圍內的整數;如果是負數,則負號一定出現在最前面。
輸出格式:
在一行中按照a/b的格式輸出n個有理數的平均值。注意必須是該有理數的最簡分數形式,若分母為1,則只輸出分子。
輸入樣例1:
4 1/2 1/6 3/6 -5/10
輸出樣例1:
1/6
輸入樣例2:
2 4/3 2/3
輸出樣例2:
#include
#include
#include
using
namespace
std;
struct fenshu
;int gongyue(int m, int n)
return n;
}int gongbei(struct fenshu *array,int n)
return num;
}int main(void)
int c=gongbei(array,n);
for(int i=0; iarray[i].fenmu)*array[i].fenzi;
}c*=n;
if(sum<0)
int c1=gongyue(sum,c);
if(flag==1)
if(c1==c)
else
return
0;}
最大公約數的求法
1. 相減法
2. 輾轉相除法
3. 窮舉法
最小公倍數等於兩數之積除以最大公約數
int zuidagongyueshu(int a,int b)
else
}returna;
}
int zuidagongyueshu(int m,int n)
return n;
}
思路:
有兩整數a和b:
① i=1
② 若a,b能同時被i整除,則t=i
③ i++
④ 若 i <= a(或b),則再回去執行②
⑤ 若 i > a(或b),則t即為最大公約數,結束
#include
void main () /* 窮舉法求最大公約數 */
有理數均值
本題要求編寫程式,計算n個有理數的平均值。輸入第一行給出正整數n 100 第二行中按照a1 b1 a2 b2 的格式給出n個分數形式的有理數,其中分子和分母全是整形範圍內的整數 如果是負數,則負號一定出現在最前面。在一行中按照a b的格式輸出n個有理數的平均值。注意必須是該有理數的最簡分數形式,若分...
有理數比較大小及有理數相加
本題要求編寫程式,比較兩個有理數的大小,並且計算兩個有理數的和。輸入格式 在一行中按照a1 b1 a2 b2的格式給出兩個分數形式的有理數,其中分子和分母全是整形範圍內的正整數。輸出格式 在一行中按照a1 b1 a2 b2的格式輸出兩個有理數比較大小 在一行中按照a b的格式輸出兩個有理數的和。注意...
5 33 有理數加法
本題要求編寫程式,計算兩個有理數的和。輸入格式 輸入在一行中按照a1 b1 a2 b2的格式給出兩個分數形式的有理數,其中分子和分母全是整形範圍內的正整數。輸出格式 在一行中按照a b的格式輸出兩個有理數的和。注意必須是該有理數的最簡分數形式,若分母為1,則只輸出分子。輸入樣例1 1 3 1 6 輸...