字符串实现特大整数加分

代码实现

#include<stdio.h>
#include<string.h>
int main()
{
	char s1[500],s2[500];
	int i,k,flag;
	int	a[500]={0},b[500]={0};
	scanf("%s %s",s1,s2);
	for(i=0;i<strlen(s1);i++)
		a[i]=s1[strlen(s1)-i-1]-'0';//倒置输入并且把char转型为int 
	for(i=0;i<strlen(s2);i++)
		b[i]=s2[strlen(s2)-i-1]-'0';
	k = strlen(s1) > strlen(s2) ? strlen(s1) : strlen(s2);
	flag=0;
	for(i=0;i<k;i++)
	{
		flag+=a[i]+b[i];
		a[i]=flag % 10;//进位 
		flag=flag/10;
	}
	if(flag==1)//将新增一位1 进位 
	{
		printf("1"); 
	}
	for(i=k-1;i>=0;i--)//倒序打出	
	{							
		printf("%d",a[i]);
	}					
	return 0;
}

猜你喜欢

转载自www.cnblogs.com/rebloom000/p/12815483.html
今日推荐