#include <stdio.h>
#include <string.h>
int main()
{
char a[1000],b[1000];
int c[1002]={0};
int n[1000]={0},m[1000]={0};
int p=0;
int i,l,j,x,y,flag=1,k=0;
gets(a);
gets(b);
x=strlen(a);
y=strlen(b);
for (i=0,j=x-1;i<x;i++,j–)
{ n[i]=a[j]-‘0’; }
for (i=0,j=y-1;i<y;i++,j–)
{ m[i]=b[j]-‘0’; }
k=x>y?x:y;
if(x<y)
{ flag=0; }
else
{ flag=1; }
if(x==y)
{
for(l=0;l<=x;l++)
{
if(a[l]>b[l])
{ break; }
}
if(l<=x)
{ flag=1;}
else
{ flag=0; }
}
if(flag=0)
{
for(l=0;l<=k;l++)
{
p=0;
if(m[l]<n[l])
{
m[l+1]–;
p=10;
}
if(l==k||m[l]==n[l])
{
c[l]=’\0’;
break;
}
c[l]=m[l]+p-n[l];
}
printf("-");
l–;
for(;l>=0;l–)
{
printf("%d",c[l]);
}
}
if(flag=1)
{
for(l=0;l<=k;l++)
{
p=0;
if(n[l]<m[l])
{
n[l+1]–;
p=10;
}
if(l==k||n[l]==m[l])
{
c[l]=’\0’;
break;
}
c[l]=n[l]+p-m[l];
}
l–;
for(;l>=0;l–)
{
printf("%d",c[l]);
}
}
return 0;
}`
大数减法C语言,被减数更小运行错误,新人,求指导
最新推荐文章于 2021-12-13 20:35:52 发布