實現兩個正浮點數的精確加法
參與運算的浮點數及計算結果所需儲存空間都不會超過main函qmzhapigs數中的定義
main函式框架要求如下:
int main();
int main() , num2[128] = , res[128] = ;
cout << "enter the first number:";
cin >> num1;
cout << "enter the second number:";
cin >> num2;
add(num1, num2, res);
cout << num1 << '+' << num2 << '=' << res << endl;
return 0;
}//獲取小數點在哪一位
int get_dot(char num)
} return i;
}//把字串轉化為整數
int char_to_int(char num, int begins, int len)
} for (int i = 0; i < len; ++i)
return integer;
}//整數轉化為字串
void int_to_char(char res, int x)
res[l + 1] = '\0';
}//得到整數部分
int get_integer(char num)
return integer;
}//得到小數部分長度
int get_decimal_len(char num)
//得到整數的長度
int get_integer_len(int x)
return integer_len;
}//得到字串長度
int get_len(char num)
//得到小數變成整數後的和
void get_decimal(char num1, char num2) }}
void add(char num1, char num2, char res)
int sum_int = get_integer(num1) + get_integer(num2) + flag;
int_to_char(res, sum_int);
*(res + get_integer_len(sum_int)) = '.';
for (i = 1; decimal[i - 1] != '\0'; ++i)
for (i = get_dot(res) + 1; res[i] != '\0'; ++i)
} if (!zero_flag) else
break;
} num1[l1] = '\0', num2[l2] = '\0';
}總結:
本文標題: c++實現浮點數精確加法
本文位址:
浮點數精確加法 C 實現
參與運算的浮點數及計算結果所需儲存空間都不會超過main函式中的定義 int main int main num2 128 res 128 cout enter the first number cin num1 cout enter the second number cin num2 add n...
浮點數加法
include includechar input 2 1000 int n char point1 1000 point2 1000 char int1 1000 int2 1000 int pointans 1000 int intans 1000 bool pointcarry int foo...
浮點數加法
求2個浮點數相加的和 題目中輸入輸出 現浮點數都有如下的形式 p1p2.pi.q1q2.對於整數部分,p1p2.pi是乙個非負整數 對於小數部分,不等於0 對於每組案例,每組測試資料佔2行,分別是兩個加數。每組案例是n行,每組測試資料有一行輸出是相應的和。輸出保證一定是乙個小數部分不為0的浮點數示例...