分割字符串即可,注意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;
}