首页 > 编程语言 > 详细

程序设计强化训练----高精度减法(持续更新)C语言

时间:2020-03-19 00:32:16      阅读:91      评论:0      收藏:0      [点我收藏+]
#include <stdio.h>
#include <string.h>

int main()
{
	char a[202]={0},b[202]={0};
	scanf("%s%s",a,b);
	int a1[202]={0},b1[202]={0},c1[203]={0},i;
	int alen=strlen(a),blen=strlen(b);
	for(i=0;i<alen;i++)
	{
		a1[i]=a[alen-1-i]-‘0‘;
	}
	for(i=0;i<blen;i++)
	{
		b1[i]=b[blen-1-i]-‘0‘;
	}
	int bigger=1;
	if(alen==blen)
	{
		bigger=strcmp(a,b);
	}
	else if(alen<blen)
	{
		bigger=-1;
	}
	alen=alen>blen?alen:blen;
	
	for(i=0;i<alen;i++)
	{
		if(bigger>0)
		{
		  c1[i]=a1[i]-b1[i];	
		}
		else
		{
		  c1[i]=b1[i]-a1[i];
		}
	}
	for(i=0;i<alen;i++)
	{
		c1[i]<0?(c1[i]+=10,c1[i+1]--):c1[i];
	}
	while(!c1[i] && i)
	{
		i--;
	}
	if(bigger<0)
	{
		printf("-");
	}
	for(;i>=0;i--)
	{
		printf("%d",c1[i]);
	}
	return 0;
	
}

  

程序设计强化训练----高精度减法(持续更新)C语言

原文:https://www.cnblogs.com/Myrecord-7/p/12520852.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!