@DingCao-HJJ
2015-09-20T14:04:30.000000Z
字数 1110
阅读 1324
sicily
编程基础题,就是输入两个数A、B然后获得A-B的结果
// CopyRight (c) HuangJunjie@SYSU(SNO:13331087). All Rights Reserved.#include<iostream>using std::cin;using std::cout;int main() {int a, b;cin >> a >> b;cout << a - b << endl;return 0;}
// CopyRight (c) HuangJunjie@SYSU(SNO:13331087). All Rights#include<stdio.h>#include<string.h>char* strrev(char* str) {char *h = str, *t = str, ch;while (*t++) {}t -= 2;while (h < t) {ch = *h;*h++ = *t;*t-- = ch;}}void substruct(char *big, char *small, char* result) {for (int i = 0; big[i] || small[i]; i++) {if (big[i] < small[i]) {big[i] += 10;big[i + 1]--;}if (!small[i]) small[i] += '0';result[i] = (big[i] - '0') - (small[i] - '0') + '0';}}void Printf(char *c) {int i = 0;while (c[i++] == '0') {}if (!c[i]) printf("0");printf("%s", c + i - 1);printf("\n");}int main() {char a[100 + 1] = { 0 }, b[100 + 1] = { 0 }, c[100 + 1] = { 0 };scanf("%s", a);scanf("%s", b);strrev(a);strrev(b);if (strlen(a) < strlen(b)) {substruct(b, a, c);printf("-");} else if (strlen(a) > strlen(b)) {substruct(a, b, c);} else {for (int i = strlen(a) - 1; i >= 0; i--) {if (a[i] == b[i]) {if (i) {continue;} else {c[i] += '0';}} else if (a[i] > b[i]) {substruct(a, b, c);break;} else if (a[i] < b[i]) {substruct(b, a, c);printf("-");break;}}}strrev(c);Printf(c);return 0;}
