将两个数字组合在一起并将其放入一个新数组(C)

时间:2014-09-24 21:10:46

标签: c arrays

我正在尝试随机生成两个30位数组并添加它们。结果必须放入一个单独的新数组中。如果他们的金额大于10,我很难将两个数字加在一起。任何人都可以帮助我吗?

#include <stdio.h>
#include <time.h>
#include <stdlib.h>


int main()
{
int numlist[30],numlist2[30],addnum[60],i,j,k;
srand(time(NULL));


for (i=0;i<30;i++)
{
    numlist[i] = rand()%10;

}

for (j=0;j<30;j++)
{
    numlist2[j]=rand()%10;
}

for (k=0;k<30;k++)
{

    if ((numlist[k]+numlist2[k])<10)
        addnum[k] =  numlist[k]+numlist2[k];
    else
       /*dont know what to do*/



}
return 0;
}

1 个答案:

答案 0 :(得分:1)

使用进位寄存器:

int carry = 0;
for (k=0;k<30;k++)
{
    int adder = numlist[k]+numlist2[k]+carry;
    carry = adder/10;
    addnum[k] = adder % 10;
}
addnum[k] = carry;