杭电1002

解析C语言字符串相加并输出结果
#include<stdio.h>
#include<string.h>
#define N 1000;
void main()
{
int m,q,r=1;
scanf("%d",&m);


for(q=0;q<m;q++){

char s1[1000];
char s2[1000];
int a[1000]={0};
int b[1000]={0};
int i;
int j;
int l1;
int l2;


scanf("%s",s1);
scanf("%s",s2);





l1=strlen(s1);

l2=strlen(s2);

for(i=l1-1,j=0;i>=0;i--)
{
a[j]=s1[i]-'0';

j++;
}

for(i=l2-1,j=0;i>=0;i--)
{
b[j]=s2[i]-'0';


j++;
}




for(i=0;i<1000;i++)
{
a[i]+=b[i];
if(a[i]>9)
{
a[i]=a[i]-10;
a[i+1]=a[i+1]+1;
}
}


printf("Case %d:\n",r);
printf("%s + %s = ",s1,s2);
for(i=999;(i>0)&&(a[i]==0);i--);
if(i>0)
{
for(;i>=0;i--)
printf("%d",a[i]);
}
printf("\n");//注意空格换行问题

if(q<m-1){
printf("\n");
}

r++;
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值