这里我们直接看题目:
1. 这里由于它的输入形式是连续的数字,所以我们用gets函数来读取,但这里读取的是字符,所以转换成数字还要减去48
//输入可以这样写:
char ch1[16]={'0'}; //创建字符数组,这里为什么是16个呢?因为gets会把回车计入
char ch2[16]={'0'};
gets(ch1); //输入数字
gets(ch2);
2. 然后就是将字符转换成你想输入的数字
把数字字符对应的数字转换成十进制数直接减去48就好
int sum1[15]={0}; //创建整形数组sum1
int sum2[15]={0};
int n=0; //n用来循环
for(n=0;n<=14;n++)
{
sum1[n]=ch1[n]-48;
sum2[n]=ch2[n]-48;
}//现在就完成了转换
3. 然后就是相加问题了
int sum3[15]={0}; //这里还需要创建一个整型数组
for(n=14;n>=1;n--) //从个位数加
{
sum3[n]=sum1[n]+sum2[n]; //直接把每一位数相加,再存入sum3中
}
4. 最后就是每位数的进一
for(n=14;n>=1;n--) //这里注意最高一位不用计算
{
if(sum3[n]>9)
{
sum3[n-1]+=1; //如果低一位大于9就向高一位进一
sum3[n]=sum3[n]-10; //本位减十
}
}
//最后直接打印
for(n=0;n<=14;n++)
{
printf("%d",sum3[n]);
}