c++语言高精度减法
我知道是第一个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提示错误
上一篇:这个符号怎么打?
热门标签: