第一步:
1.头文件的写法相信大家应该都会了,都是最基础的了,然后是根据题目定义两个数组a[]和b[],此外再定义一个数组c[],后面有大用。
2.第七行的代码运用了%1d的写法,因为要输入像123489这样没有空格的整型数字,中间没有空格,必须这样规定。
解释%1d与%d的区别在scanf函数中
1.来看当为%d时输入的格式和输出
由输入可知,输入格式为2 3 4 5而不是2345,中间会空一格,这是因为后面是&a[i],这样每个元素前加了地址符,输入时以空格符来间隔每个数字输入。
2.当以%1d来输入时
当以%1d格式输入时,我们输入2345(没有空格),输出依然是2345,这是因为%1d规定了每个长度为1,而空格符会算成一个长度,所以我们人为规定了就不用加空格来告诉程序我们输入数字了,直接输入就行了。
第二步
1.我们去想,数组是一个一个元素组成的,那么我们要将两个数相加,就是从个位相加,一个一个数相加,哎,那不就是思路出来了吗?我们将两个数组的同个序号的数相加储存在一个数组里,在来点运算,不就是相加后的结果了吗?
第三步
输出就行了,最后整个代码如下:
#include<stdio.h>
int main()
{
int a[15], b[15], c[15];//定义三个长度为15的数组
int i, k = 0;
for (i = 0; i < 15; i++)//获取两个数组的内容
{
scanf_s("%1d",&a[i]);//这步极其重要,将获取的单位长度变为1
}
for (i = 0; i < 15; i++)
{
scanf_s("%1d",&b[i]);
}
for (i = 14; i >= 0; i--)
{
c[i] = a[i] + b[i] + k;
k = 0;
if (c[i] > 9)
{
c[i] = c[i] - 10;
k++;
}
}
for (i = 0; i < 15; i++)
{
printf("%d",c[i]);
}
return 0;
}
最后,希望能帮助到大家,下期再见咯!拜拜咯,还是第一次写这么长的,呼呼。