2. 从键盘输入1个小数,把小数表示成分数输出到屏幕。
假设小数是0.25。 要想把0.25变成分数,首先要知道0.25有几位小数以及小数部分的数字序列。0.25的小数是2位。小数部分是25。 那么0.25的分数表示就是25/100,即分子是25分母是100,约分后分子是1,分母是4,即0.25的分数是1/4。
#include#include using namespace std; int main() { char a[12] = {0}; int b[10] = {0}; int i, temp, lenth = 0, num, den; cout << "请输入该小数:" << endl; cin >> a; for (i = 0; i < 12; i++) { if (a[i] == '.') temp = i + 1; else if (a[i] == 0) break; if (temp != 0) { b[i - temp] = a[i] - 48; lenth++; } } for (i = 0, num = b[i], den = 10; i < lenth - 2; i++) { num *= 10; num += b[i + 1]; den *= 10; } for (i = num; i > 1; i--) { if (num % i == 0 && den % i == 0) { num /= i; den /= i; } } cout << "该小数的分数形式为:" << num << "/" << den << endl; return 0; }



