リンク:https
://pan.baidu.com/s/1qDdBkFPakLtCvh8_W2wiog抽出コード:x3zg
#include <iostream> #include <cmath> // 名前空間を使用して絶対値関数fabs()を呼び出すstd; int main() { double x、y; long long a、b、i、j; cout << "純粋な10進数を入力してください" << endl; do { cout << "x ="; cin >> x; } while(x> = 1 || x <= 0); a = 1; y = x; while (fabs(y-(int)y)> 1e-10)//純粋な小数は整数に変換されます { a * = 10; y = x * a; // y = y * 10;として書き込むことはできません } //エラーのため展開を停止すると、無限ループになります b = y; cout << b << '/' << a << endl; for(i = b; i> = 1; i--)// aとbを見つける最大のコンベンション 私は0を==(B%であれば&&a%i == 0) { j = i; //最大公約数を見つけたら、それをjに割り当てます breakにます; //ループを終了します } cout << "最简分数は:"; cout << b / j << '/' << a / j << endl; 0を返します。 }