我正在尝试随机生成两个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;
}
答案 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;