作者在 2013-05-25 22:35:22 发布以下内容
#include<stdio.h>
#include <string.h>
void add(char a[],char b[])
{
int temp[101]={0},carry=0,i,m,n,num;
m=strlen(a);
n=strlen(b);
num=n>m?n:m;
for(i=m-1;i>=0;i--)
temp[m-1-i]=a[i]-'0';//a数组的个位保存在temp[0],...
for(i=n-1;i>=0;i--)
temp[n-1-i]+=b[i]-'0';
for(i=0;i<=num;i++)
{
temp[i]+=carry;
carry=temp[i]/10;
temp[i]%=10;
}
if(temp[num])
printf("%d",temp[num]);
for(i=num-1; i>=0;i--)
printf("%d",temp[i]);
printf("%d",temp[i]);
}
int main()
{
char a[100],b[100];
printf("a数 : ");
gets(a);
printf("b数 : ");
gets(b);
printf("和数: ");
add(a,b);
printf("\n");
return 0;
}
#include <string.h>
void add(char a[],char b[])
{
int temp[101]={0},carry=0,i,m,n,num;
m=strlen(a);
n=strlen(b);
num=n>m?n:m;
for(i=m-1;i>=0;i--)
temp[m-1-i]=a[i]-'0';//a数组的个位保存在temp[0],...
for(i=n-1;i>=0;i--)
temp[n-1-i]+=b[i]-'0';
for(i=0;i<=num;i++)
{
temp[i]+=carry;
carry=temp[i]/10;
temp[i]%=10;
}
if(temp[num])
printf("%d",temp[num]);
for(i=num-1; i>=0;i--)
printf("%d",temp[i]);
printf("%d",temp[i]);
}
int main()
{
char a[100],b[100];
printf("a数 : ");
gets(a);
printf("b数 : ");
gets(b);
printf("和数: ");
add(a,b);
printf("\n");
return 0;
}