3115 高精度练习之减法

Posted ioioioioioio

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了3115 高精度练习之减法相关的知识,希望对你有一定的参考价值。

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
char m[1001],n[1001];
int a[1001],b[1001],c[1001];
int main()
{
	scanf("%s",&m);
	scanf("%s",&n);
	int lm=strlen(m);
	int ln=strlen(n);
	if(lm<ln||(lm==ln&&strcmp(m,n)<0))
	 {
	 	swap(m,n);
	 	cout<<"-";
	 }
	 lm=strlen(m);
	 ln=strlen(n);
	for(int i=0;i<lm;i++)
	 {
	 	a[i]=m[lm-i-1]-‘0‘;
	 }
	 for(int i=0;i<ln;i++)
	  {
	  	b[i]=n[ln-i-1]-‘0‘;
	  }
	  int lc;
	  lc=0;
	  while(lc<=lm)
	   {
	   	if(a[lc]<b[lc])
	   	 {
	   	 	a[lc]+=10;
	   	 	a[lc+1]--;
			}
		c[lc]=a[lc]-b[lc];	
		lc++;
	   }
	  while(c[lc]==0&&lc>=1)
	   {
	   	lc--;
	   }
	   for(int i=lc;i>=0;i--)
	    {
	    	cout<<c[i];
		 } 
}

以上是关于3115 高精度练习之减法的主要内容,如果未能解决你的问题,请参考以下文章

CODEVS3115高精度练习之减法

18.2.28 codevs3115 高精度练习之减法

模拟高精度练习之减法

18.2.28 codevs3115 高精度练习之乘法

3116 高精度练习之加法

3117 高精度练习之乘法