分割字符串即可,注意substr(begin,end)里的参数 是指将begin到end-1位上的数提取出来
#include <iostream>
#include <string>
#include <math.h>
using namespace std;
//首先分割字符串 封装成函数
void My_Split_String(string s, int& a, int& b, int &c) {
int b_b = s.find('.');
int r_b = s.rfind('.');
a = stoi(s.substr(0, b_b));
b = stoi(s.substr(b_b + 1, r_b));
c = stoi(s.substr(r_b + 1, s.size()));
}
int main()
{
string s1, s2;
cin >> s1;
cin >> s2;
int real_price, need_price;
int a , b, c ;
a = b = c = 0;
My_Split_String(s1, a, b, c);
need_price = a * 17 * 29 + b * 29 + c;
My_Split_String(s2, a, b, c);
real_price = a * 17 * 29 + b * 29 + c;
int price = fabs(real_price - need_price);
if (need_price <= real_price) {
cout << price / (17 * 29) << "." << (price % (17 * 29)) / 29 << "." << ((price % (17 * 29))) %29;
}
else {
cout <<"-"<< price / (17 * 29) << "." << (price % (17 * 29)) / 29 << "." << ((price % (17 * 29))) % 29;;
}
return 0;
}