题目如下:
输入数据: 4 + 1,111,111,111,111,111,111,111,111,111,111,111,111 222,222,222,222,222,222,222,222,222,222,222,222 + -12,345,678,901,234,567,890,123,456,789,012,345,678,901,234,567,890 98,765,432,198,765,432,198,765,432,198,765,432,198,765,432,198,765 + 3.14159265358979384626 6.66666666666666666666666 - -41,829,471,284,124,414.49104801248981284 -64,580,569,452,374,277.12783183148912947输出数据:
1,333,333,333,333,333,333,333,333,333,333,333,333 86,419,753,297,530,864,308,641,975,409,753,086,519,864,197,630,875 9.80825932025646051292666 22,751,098,168,249,862.63678381899931663
代码如下(含一些注释):
#include<iostream>
#include<cstring>
#include<algorithm>
using namespace std;
/*
大致思路是
先将字符串转化成两个正数相加减的模型(去符号)
然后将字符串变为int型存储起来,‘.’间隔出两部分
最后分别对小数部分和整数部分操作,作+-运算
*/
void qufuhao(char s[])
{
int len = strlen(s);
for (int i = 1;i < len;i++)
{
s[i