记录编号 |
98998 |
评测结果 |
AAAAAA |
题目名称 |
增强的减法问题 |
最终得分 |
100 |
用户昵称 |
123457 |
是否通过 |
通过 |
代码语言 |
C |
运行时间 |
0.001 s |
提交时间 |
2014-04-25 18:31:11 |
内存使用 |
0.29 MiB |
显示代码纯文本
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
int jian1[200]={0},jian2[200]={0},cha[200]={0};
char an[200]={0},be[200]={0};
int i,j=0,k=0,a,b,m;
freopen("sub.in","r",stdin);
freopen("sub.out","w",stdout);
gets(an);
gets(be);
a=strlen(an)-1;
b=strlen(be)-1;
for(i=a;i>=0;i--) {jian1[j]=an[i]-'0';j++;}
for(i=b;i>=0;i--) {jian2[k]=be[i]-'0';k++;}
//printf("%d\n%d\n",a,b);
if(b>a) {k=b;printf("-");
for(i=0;i<=k;i++){
cha[i]+=jian2[i]-jian1[i];}
for(i=0;i<=k;i++){
if(cha[i]<0) {cha[i]+=10;cha[i+1]--;}
}
}
if(a>b) {k=a;
for(i=0;i<=a;i++){
cha[i]+=jian1[i]-jian2[i];}
for(i=0;i<=a;i++){
if(cha[i]<0) {cha[i]+=10;cha[i+1]--;}
}
}
if(a==b)
{k=a;
for(i=0;i<=a;i++){
if(jian1[i]>jian2[i]) {
for(i=0;i<=a;i++){
cha[i]+=jian1[i]-jian2[i];}
for(i=0;i<=a;i++){
if(cha[i]<0) {cha[i]+=10;cha[i+1]--;}
}break;}
if(jian1[i]<jian2[i]) {printf("-");
for(i=0;i<=a;i++){
cha[i]+=jian2[i]-jian1[i];}
for(i=0;i<=a;i++){
if(cha[i]<0) {cha[i]+=10;cha[i+1]--;}
}break;}
}
}
for(i=k;i>=0;i--){
if(cha[i]!=0) {m=i;break;}
//if(i==0) printf("0");
}
for(i=m;i>=0;i--) {printf("%d",cha[i]);}
//system("PAUSE");
return 0;
}