回复 5楼 马后炮
											按照你说的改了一下										
					
	
欢迎来到我的博客:http://blog..cn/noisunyuhong
 程序代码:
程序代码:#include <stdio.h>
#include <stdlib.h>
#include <string.h>
//#define ZERO -99
int main()
{
    char a[10]={0},b[10]={0},sum[10]={0};
    int length_a,length_b,i=0,j=0;
    gets(a);
    gets(b);//获取字符串
    length_a=strlen(a),
        length_b=strlen(b);//获取字符串长度
        i = length_a-1;
        j = length_b-1;
    if(length_a>length_b)
    {
        while(i>=0)
        {
            if(j>=0)
            b[i]=b[j];
            else
            b[i]='0';
            i--;
            j--;
        }
        b[length_a]=0;
        j=length_a;
    }
    else
    {
        while(j>=0)
        {
            if(i>=0)
            a[j]=a[i];
            else
            a[j]='0';
            i--;
            j--;
        }
        a[length_b]=0;
        j=length_b;
    }
   
    for(i=j-1;i>=0;i--)
    {
        sum[i+1] = a[i]+b[i]+sum[i+1]-2*'0';
        if( sum[i+1] >= 10)
        {
            sum[i+1] += -10;
            sum[i]++;
        }
    }
   
    for(i=0;i<=j;i++)
        {if(sum[i]==0&&i==0)
            continue;
    printf("%d",sum[i]);}
    system("pause");
    return 0;
}


 程序代码:
程序代码:#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void rollback(char *ScL,int length_a,int length_b)   //对于长度短的字符串前面填充零
{
    ScL[length_a+1]='\0';
    while(length_a>=0)
        {
            if(length_b>=0)
            ScL[length_a]=ScL[length_b];
            else
            ScL[length_a]='0';
            length_a--;
            length_b--;
        }
}
int main()
{
    char a[10]={0},b[10]={0},sum[10]={0};
    int length_a,length_b;
    gets(a);
    gets(b);//获取字符串
    length_a = strlen(a),
    length_b = strlen(b);//获取字符串长度
    if(length_a  >length_b)
    {
        rollback(b,length_a-1,length_b-1);
    }
    else
    {   
        rollback(a,length_b-1,length_a-1);
        length_a = length_b;
    }
   
    for(length_b = length_a-1;length_b >=0 ; length_b--)
    {
        sum[length_b+1] = a[length_b]+b[length_b] + sum[length_b+1]-2*'0';
        if( sum[length_b+1] >= 10)  //注意字符范围,不然物极必反
        {
            sum[length_b+1] += -10;
            sum[length_b]++;
        }
    }
   
    for(length_b = 0;length_b <= length_a;length_b++)  //输出
        {
            if(sum[length_b]==0 && length_b==0)   //处理前面零
            continue;
         printf("%d",sum[length_b]);
        }
    system("pause");
    return 0;
}
LZ看懂吗										
					
	