|
发表于 2022-2-11 18:25:25
|
显示全部楼层
本帖最后由 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;
- }
复制代码 |
|