哪位帮我看一下错哪了,题目在http://noi.openjudge.cn/ch0106/11/
#include<iostream>
#include<string.h>
using namespace std;
int main(){
char a[250],b[250];
fgets(a,250,stdin);
fgets(b,250,stdin); //把数据储存在字符中
int A[250],B[250];
int i,n=strlen(a)-1,m=strlen(b)-1;
for(i=0;i<n;i++){
A[i]=a[n-1-i]-'0';
}
for(i=0;i<m;i++){
B[i]=b[m-1-i]-'0'; //把字符转换为数字 ,并反向
}
for(i=m;i<n;i++){ //把空的位置用0填上,使两数位数一致
B[i]=0;
m=n;
}
int c[250],q,p=0;
for(i=0;i<m;i++){ //设C,储存A-B
q=A[i]-B[i]-p;
if(q<0){
p=1;
q+=10;
}
else p=0;
c[m-1-i]=q;
}
for(i=0;c[i]==0&&i<m;i++){ //除去多余的前导0
}
for(;i<m;i++){
cout<<c[i]; //输出答案
}
return 0;
}