入力を文字列として受け取る電卓を作成するように依頼されました。これにより、長い数値を計算して結果も文字列にすることができます。加算部分を試しましたが、2 つの数値の長さが異なると機能しません。誰かが私のコードがどこで間違っていたのか、どうすれば修正できるのか教えてもらえますか? また、この原則を使用して分割する方法のアイデア。
i = strlen(first);
j = strlen(second);
x = 0;
while(1)
{
z = (first[i-1] - 48) + (second[j-1] - 48) + carry;
carry = z/10;
result1[x] = z%10 + 48;
x++;
i--;
j--;
if(i==0 && j==0)
{ if(carry!=0)
result1[x] = carry + 48;
break;
}
}
i = strlen(result1);
for (i = 0, j = strlen(result1)-1; i < j; i++, j--)
{
c = result1[i];
result1[i] = result1[j];
result1[j] = c;
}
puts(result1);