高精度:编程题高精度又该额怎么解答呢?希望下面的文章对大家有所帮助。
#include#include #define MAXN 510 using namespace std; int s1[MAXN]; int s2[MAXN]; void high_plus(string a, string b) { int la = a.length(), lb = b.length(); int max = la > lb ? la : lb; for(int i = 1; i <= la; i ++) s1[i] = a[la - i] - '0'; for(int i = 1; i <= lb; i ++) s2[i] = b[lb - i] - '0'; for(int i = 1; i <= max; i ++) { int t = s1[i] + s2[i]; if(t < 10) s1[i] = t; else { s1[i] = t - 10; s1[i + 1] ++; } } if(s1[max + 1] != 0) cout << s1[max + 1]; for(int i = max; i >= 1; i --) cout << s1[i]; cout << endl; } int main() { string a, b; while(cin >> a >> b) high_plus(a, b); return 0; }