具体代码如下 先放上错误代码(只适合位数对齐的)
#include<stdio.h>
#include<string.h>
#define N 500
int main(void)
{
char s1[N],s2[N];
int cp=0,x,k;
int R[N];
gets(s1);
gets(s2);
//放上循环变量 i(跑s1),j(跑s2), k(给R里面存值)
int i=strlen(s1)-1;
int j=strlen(s2)-1;
k=N-1;
while (i>-1&&j>-1)//数组没完就进循环
{
x=(s1[i--]-'0')+(s2[j--]-'0')+cp;
R[k--]=x%10;
cp=x/10;
}
if(cp)//要是cp还有值 就把进位加上去
R[k--]=cp;
for(i=k+1;i<N;i++)//输出数值
printf("%d",R[i]);
return 0;
}
下面附上正确代码:
#include<stdio.h>
#include<string.h>
#define N 500
int main(void)
{
char s1[N],s2[N];
int cp=0,x,k;
int R[N];
gets(s1);
gets(s2);
//放上循环变量 i(跑s1),j(跑s2), k(给R里面存值)
int i=strlen(s1)-1;
int j=strlen(s2)-1;
k=N-1;
while (i>-1||j>-1)//只要有一个数组没完就进循环
{
if(i>-1&&j>-1) //两个都没完
x=(s1[i--]-'0')+(s2[j--]-'0')+cp;
else if(j>-1&&i<0)//s1完了 s2没完
x=s2[j--]-'0'+cp;//处理s2
else
x=s1[i--]-'0'+cp;//处理s1
R[k--]=x%10;
cp=x/10;
}
if(cp)//要是cp还有值 就把进位加上去
R[k--]=cp;
//为什么没有让cp=cp/10;呢??
//因为加法最多进位一位所以不需要哦。
//昨天的乘法有可能进两位(100)所以要加上
for(i=k+1;i<N;i++)//输出数值
printf("%d",R[i]);
return 0;
}
(代码是经过运行测试可以执行出结果的!!!)
谢谢大家支持,我会尽快更新的,大家和我一起努力哦.
我是小纸人.
具体代码如下 先放上错误代码(只适合位数对齐的)
#include<stdio.h>
#include<string.h>
#define N 500
int main(void)
{
char s1[N],s2[N];
int cp=0,x,k;
int R[N];
gets(s1);
gets(s2);
//放上循环变量 i(跑s1),j(跑s2), k(给R里面存值)
int i=strlen(s1)-1;
int j=strlen(s2)-1;
k=N-1;
while (i>-1&&j>-1)//数组没完就进循环
{
x=(s1[i--]-'0')+(s2[j--]-'0')+cp;
R[k--]=x%10;
cp=x/10;
}
if(cp)//要是cp还有值 就把进位加上去
R[k--]=cp;
for(i=k+1;i<N;i++)//输出数值
printf("%d",R[i]);
return 0;
}
下面附上正确代码:
#include<stdio.h>
#include<string.h>
#define N 500
int main(void)
{
char s1[N],s2[N];
int cp=0,x,k;
int R[N];
gets(s1);
gets(s2);
//放上循环变量 i(跑s1),j(跑s2), k(给R里面存值)
int i=strlen(s1)-1;
int j=strlen(s2)-1;
k=N-1;
while (i>-1||j>-1)//只要有一个数组没完就进循环
{
if(i>-1&&j>-1) //两个都没完
x=(s1[i--]-'0')+(s2[j--]-'0')+cp;
else if(j>-1&&i<0)//s1完了 s2没完
x=s2[j--]-'0'+cp;//处理s2
else
x=s1[i--]-'0'+cp;//处理s1
R[k--]=x%10;
cp=x/10;
}
if(cp)//要是cp还有值 就把进位加上去
R[k--]=cp;
//为什么没有让cp=cp/10;呢??
//因为加法最多进位一位所以不需要哦。
//昨天的乘法有可能进两位(100)所以要加上
for(i=k+1;i<N;i++)//输出数值
printf("%d",R[i]);
return 0;
}
(代码是经过运行测试可以执行出结果的!!!)
谢谢大家支持,我会尽快更新的,大家和我一起努力哦.
我是小纸人.