高精度减法c语言(dev-c++) 帮忙看下哪错了,新手啊! 5
#include<string.h>#include<stdio.h>#include<stdlib.h>main(){chara[27],b[27];inti,x,y,...
#include<string.h>
#include<stdio.h>
#include<stdlib.h>
main()
{
char a[27],b[27];
int i,x,y,z,a1[27],b1[27],c[27],m=0,n=0,k=0,g=0,l=0;
gets(a);
gets(b);
x=strlen(a);
y=strlen(b);
for(i=0;i<x;i++)
{a1[x-i-1]=a[i]-48;m++;
}
for(i=0;i<y;i++)
{
b1[y-i-1]=b[i]-48;n++;}
if(m>n)
{for(i=0;i<m;i++)
{c[i]=a[i]-b[i];g++;
if(c[i-1]<0) c[i]=c[i]-1;}}
else if(m==n)
{
for(i=0;i<m;i++)
{
z=a1[i]-b1[i];
if(z>0) {k=1;break;}
else if(z=0) k=0;
else {k=-1;break;}
}
if(k==1) {
for(i=0;i<m;i++)
{c[i]=a1[i]-b1[i];
if(c[i-1]<0) c[i]=c[i]-1;g++;}}
else if(k==0) {g=0;}
else if(k==-1) {
for(i=0;i<m;i++)
{c[i]=b1[i]-a1[i];g++;
if(c[i-1]<0) c[i]=c[i]-1;}}}
else{for(i=0;i<n;i++)
{c[i]=a[i]-b[i];
if(c[i-1]<0) c[i]=c[i]-1;}}
for(i=g;i>=0;i--)
{if(c[i]!=0) l=i;}
if(c[g]==9) k=2;
for(i=0;i<g;i++)
c[g-i-1]=c[i];
if(k==2) {printf("-");for(i=0;i<g;i++){printf("%d",c[i]);}}
else
{
for(i=0;i<l;i++)
printf("%d",c[i]);
}
system("pause");
return 0;
} 展开
#include<stdio.h>
#include<stdlib.h>
main()
{
char a[27],b[27];
int i,x,y,z,a1[27],b1[27],c[27],m=0,n=0,k=0,g=0,l=0;
gets(a);
gets(b);
x=strlen(a);
y=strlen(b);
for(i=0;i<x;i++)
{a1[x-i-1]=a[i]-48;m++;
}
for(i=0;i<y;i++)
{
b1[y-i-1]=b[i]-48;n++;}
if(m>n)
{for(i=0;i<m;i++)
{c[i]=a[i]-b[i];g++;
if(c[i-1]<0) c[i]=c[i]-1;}}
else if(m==n)
{
for(i=0;i<m;i++)
{
z=a1[i]-b1[i];
if(z>0) {k=1;break;}
else if(z=0) k=0;
else {k=-1;break;}
}
if(k==1) {
for(i=0;i<m;i++)
{c[i]=a1[i]-b1[i];
if(c[i-1]<0) c[i]=c[i]-1;g++;}}
else if(k==0) {g=0;}
else if(k==-1) {
for(i=0;i<m;i++)
{c[i]=b1[i]-a1[i];g++;
if(c[i-1]<0) c[i]=c[i]-1;}}}
else{for(i=0;i<n;i++)
{c[i]=a[i]-b[i];
if(c[i-1]<0) c[i]=c[i]-1;}}
for(i=g;i>=0;i--)
{if(c[i]!=0) l=i;}
if(c[g]==9) k=2;
for(i=0;i<g;i++)
c[g-i-1]=c[i];
if(k==2) {printf("-");for(i=0;i<g;i++){printf("%d",c[i]);}}
else
{
for(i=0;i<l;i++)
printf("%d",c[i]);
}
system("pause");
return 0;
} 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询