华为机试题二

/*dashuqiuhe*/
#include <string.h>
#include <iostream>
using namespace std;
void main()
{ 
	char a[100],b[100],c[101]={0},temp[100]={0};
    gets(a);
	gets(b);
    int i,j,k,flag;
    if (strlen(a)>=strlen(b))	flag = 1;
    else	flag = 0;
	if (flag == 0)
	{
		strcpy(temp,a);
		strcpy(a,b);
		strcpy(b,temp);
	}
	
	k=strlen(a)-1;
	j= strlen(b)-1;
	for(i=k;j>=0;i--,j--)
	{
		c[i] = a[i]-48+b[j]-48;
		
	}	 
	for(;i>=0;i--)
	{
		c[i] = c[i]+a[i]-48;
	}
	for (i=k;i>0;i--)
	{
		if (c[i]>9)
		{
			c[i] = c[i]%10;
			c[i-1]++;
		} 
	}
	if(c[0]>9)
	{
		k++;
		for (j=k;j>1;j--)	c[j] = c[j-1];
		c[1] = c[0]%10;
		c[0] = 1;
	}			
	for (i=k;i>=0;i--)
	{
		c[i] = c[i]+48;
	}
	puts(c);
}

 大数求和

原文地址:https://www.cnblogs.com/zlj830/p/4717132.html