作业帮 > 综合 > 作业

acm wrong answer是由什么引起的?北邮一道简单的减法题:

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/28 16:47:19
acm wrong answer是由什么引起的?北邮一道简单的减法题:
北邮一道简单的减法题:
Description
Calculate A-B
Input
Two integer a and b(-10^100 < a,b < 10^100)
Output
Output a-b
Sample Input
1 2
Sample Output
-1
#include
using namespace std;
int main()
{
int a,b;
cin >> a >> b;
cout
-10^100
这个数字太大了,你这样的根本存不下来的,比如输入
10005545646666666666666666666666666666
12111111111111111111111111111111111111111111111
你的答案还能正确吗?
再问: 那要怎样修改?初学,不会改
再答: 用数组模拟,题目地址在哪里啊?我去做做
再问: http://acm.bupt.edu.cn/onlinejudge/newoj/showProblem/show_problem.php?problem_id=2 还想请教下,数组模拟是什么?ACM题要从哪里入手?
再答: 我的AC代码 # include #include #include using namespace std; const int MAX=1000; char sa[MAX],sb[MAX]; int a[MAX],b[MAX]; int deal(char s[],int a[]) { int i=strlen(s)-1,j=0; for(;i>=0;i--,j++) { if(s[i]=='-')break; a[j]=s[i]-'0'; } if(s[0]=='-')return -1; return 1; } void add(int a[],int b[]) { int i; for(i=0;i0) { putchar('-'); minu(a,b); out(a); } else { minu(b,a); out(b); } } else if(signa==1&&signb==-1) { add(a,b); out(a); } else if(signa==1&&signb==1) { if(cmp(a,b)>0) { minu(a,b); out(a); } else { minu(b,a); putchar('-'); out(b); } } } return 0; }