### 高精度加法 ```c #include #include int main(){ char str1[200], str2[200], result[201] = {0}; int i, j, k = 0, t = 0; scanf("%s %s", str1, str2); i=strlen(str1)-1; j=strlen(str2)-1; while(i >= 0 || j >= 0){ if(i >= 0) t+=str1[i--]-48; if(j >= 0) t+=str2[j--]-48; result[k++] = t%10+48; t /= 10; } if(t != 0){ result[k++] = t+48; } for(i=k-1;i>=0;i--){ putchar(result[i]); } puts(""); return 0; } ``` ### 高精度乘法 ```c #include #include int main(){ char str1[200], str2[200], temp[200],result[1000] = {0}; int i, j, k, t; scanf("%s%s", str1, str2); j=strlen(str2)-1; while(j>=0){ k=0; for(i=strlen(str1)-1;i>=0;i--){ t = k + strlen(str2)-1-j; result[t+1] += (result[t] + (str1[i]-48)*(str2[j]-48))/10; result[t] = (result[t] + (str1[i]-48)*(str2[j]-48))%10; k++; } j--; } k+=strlen(str2)-1; while(result[k]==0) k--;//È¥µô¿Õ¸ñ while(k>=0){ putchar(result[k] + 48); k--; } puts(""); return 0; } ``` ### 高精度减法 ```c ``` ### 高精度乘法 ```c ```