首页 > 电脑

c++语言高精度减法

更新时间2018-10-06 07:12:09

我知道是第一个if语句出了问题,但我不知道怎么改,求大神帮帮我这个小萌新,Thanks♪(・ω・)ノ

#include<cstdio>

#include<iostream>

#include<cstring>

#include<cmath>

using namespace std;

int main()

{

string a,b;

int c[201],d[201],n,m;

memset(c,0,sizeof(c));

memset(d,0,sizeof(d));

cin>>a>>b;

n=a.length();

m=b.length();

for(int i=1;i<=n;i++)

{

c[i]=a[n-i]-'0';

}

for(int i=1;i<=m;i++)

{

d[i]=b[m-i]-'0';

}

if(m>n) n=m;

else n=n;

for(int i=1;i<=n;i++)

{

c[i]=c[i]+10-d[i];

if(c[i]<10)

{

c[i+1]=c[i+1]-1;

}

c[i]=c[i]%10;

}

    n++;

while((c[n]==0)&&(n>1)) n--;

for(int i=n;i>=1;i--)

{

printf("%d",c[i]);

return 0;

}


程序没有大问题啊,只是

   if(m>n) n=m;
   else n=n;

其中的 else n=n;没有意义,可以删除,if可以没有else的

只是你结果没有负值(要看你的具体要求了(

上一篇:这个符号怎么打?

下一篇:安装eclipse提示错误