[問題] 數字反轉相加問題
( *[1m *[m 為色碼,可以按 Ctrl+V 預覽會顯示的顏色 )
( 未必需要依照此格式,文章條理清楚即可 )
遇到的問題: 數字89反轉相加不出來 其他數字可以
希望得到的正確結果:89反轉相加
程式跑出來的錯誤結果:跑不出來ˊˋ
開發平台: Dev-C++
有問題的code:
#include<stdio.h>
#include<stdlib.h>
int rev(int x);
int sum(int x);
int main()
{
int x=89;
printf("%d",sum(x));
system("pause");
return 0;
}
int rev(int x)
{
int y,z=0;
do{
z = z * 10;
y = x % 10;
x = x / 10;
z += y;
}while(x > 0);
return z;
}
int sum(int x)
{
int y;
do
{
x+=rev(x);
y=rev(x);
}while(x!=y);
return x;
}
補充說明:函式rev把數字做反轉
函式sum把原來的數字跟反轉後的數字做相加
直到數字跟反轉後的數字相同後停止
我試過其他數字都可以
89就不行
可以幫我看看嗎m(_ _)m感恩
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.117.195.228
推
12/21 18:37, , 1F
12/21 18:37, 1F
→
12/21 20:23, , 2F
12/21 20:23, 2F
→
12/21 20:25, , 3F
12/21 20:25, 3F
→
12/21 20:26, , 4F
12/21 20:26, 4F
→
12/21 20:28, , 5F
12/21 20:28, 5F
→
12/21 20:30, , 6F
12/21 20:30, 6F
→
12/21 20:48, , 7F
12/21 20:48, 7F
→
12/21 21:06, , 8F
12/21 21:06, 8F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章