本帖最后由 jhq999 于 2022-2-11 18:28 编辑
复杂度O(2n) 除非可以用strlen,或者fscan,但这些函数里面也有循环void StrAdd(char (* num)[8])
{
int i=0,j=0,k=0;
while(num[0][i+1]||num[1][j+1])
{
if (num[0][i+1])i++;
if(num[1][j+1])j++;
}
k=i>j?i:j+1;
while (i>-1||j>-1)
{
num[2][k]+=(i<0?'0':num[0][i])+(j<0?'0':num[1][j]);
if (num[2][k]>105)
{
num[2][k]-='9'+1;
num[2][k-1]++;
}
else if(num[2][k])
{
num[2][k]-='0';
}
i--,j--,k--;
}
num[2][0]=num[2][0]?'1':'0';
int cs=0;
}
int main()
{
char num[3][8]={0};
scanf("%s%s",num[0],num[1]);
StrAdd(num);
printf("%s",num[2]);
return 0;
}
|