码迷,mamicode.com
首页 > 其他好文 > 详细

3115 高精度练习之减法

时间:2017-03-21 22:46:43      阅读:177      评论:0      收藏:0      [点我收藏+]

标签:scanf   space   proc   std   clu   cst   type   减法   cpp   

#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 高精度练习之减法

标签:scanf   space   proc   std   clu   cst   type   减法   cpp   

原文地址:http://www.cnblogs.com/lyqlyq/p/6596878.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!