| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
写了个Ugly的高精度模拟,不明白WR在哪...求助各位#include <iostream.h>
#include <string.h>
void main()
{
char s1[250], s2[250];
int n, i, p, len, len1, len2;
cin >> n;
cin.get();
while (n --) {
cin >> s1 >> s2;
len1 = strlen(s1);
len2 = strlen(s2);
i = len1 - 1;
while (i > 0 && s1[i] == '0') { s1[i] = '\0'; i --; }
i = len2 - 1;
while (i > 0 && s2[i] == '0') { s2[i] = '\0'; i --; }
if (strlen(s1) > strlen(s2)) {
len = strlen(s1);
for (i = 0; i < strlen(s2); i ++) {
s1[i] += s2[i] - '0';
if (s1[i] - '0' > 9) {
s1[i + 1] ++;
s1[i] = s1[i] - 10;
}
}
if (s1[len] != 0) { s1[len] = '1'; len ++; }
p = 0;
while (s1[p] == '0' && p < len - 1) p ++;
for (i = p; i < len; i ++) cout << s1[i];
cout << endl;
}
else {
len = strlen(s2);
for (i = 0; i < strlen(s1); i ++) {
s2[i] += s1[i] - '0';
if (s2[i] - '0' > 9) {
s2[i + 1] ++;
s2[i] = s2[i] - 10;
}
}
if (s2[len] != 0) { s2[len] = '1'; len ++; }
p = 0;
while (s2[p] == '0' && p < len - 1) p ++;
for (i = p; i < len; i ++) cout << s2[i];
cout << endl;
}
}
}
Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator