#include <stdio.h>
#include <string.h>
#define N 200
int main()
{
char s1[N],s2[N];
while(gets(s1))
{
int a[N]={0},b[N]={0},l1,l2,c,k,i;
gets(s2);
l1=strlen(s1);
l2=strlen(s2);
if(l1<l2) k=l2;
else k=l1;
c=k;
for(i=0;i<l1;k--,i++)
a[k]=s1[l1-1-i]-'0';
for(k=c,i=0;i<l2;k--,i++)
b[k]=s2[l2-1-i]-'0';
for(i=c;i>=0;i--)
{
a[i]+=b[i];
if(a[i]>=10)
{
a[i]-=10; a[i-1]++;
}
}
if(a[0]!=0)
{
for(i=0;i<=c;i++) printf("%d",a[i]);
}
else
{
for(i=1;i<=c;i++)
printf("%d",a[i]);
}
printf("\n");
}
return 0;
}
#include <string.h>
#define N 200
int main()
{
char s1[N],s2[N];
while(gets(s1))
{
int a[N]={0},b[N]={0},l1,l2,c,k,i;
gets(s2);
l1=strlen(s1);
l2=strlen(s2);
if(l1<l2) k=l2;
else k=l1;
c=k;
for(i=0;i<l1;k--,i++)
a[k]=s1[l1-1-i]-'0';
for(k=c,i=0;i<l2;k--,i++)
b[k]=s2[l2-1-i]-'0';
for(i=c;i>=0;i--)
{
a[i]+=b[i];
if(a[i]>=10)
{
a[i]-=10; a[i-1]++;
}
}
if(a[0]!=0)
{
for(i=0;i<=c;i++) printf("%d",a[i]);
}
else
{
for(i=1;i<=c;i++)
printf("%d",a[i]);
}
printf("\n");
}
return 0;
}
本文介绍了一个使用 C 语言实现的简单字符串加法程序。该程序能够接收两个字符串输入,并逐位进行相加操作,适用于任意长度的数字字符串。通过数组记录每一位的数值,并处理进位情况,最终输出两字符串相加后的结果。
5588

被折叠的 条评论
为什么被折叠?



