0
如果用戶輸入了「值」爲1223445
輸出應如下所示:我的程序停止循環,我無法找出爲什麼
變化#後1:12235 後變化#2:135
該代碼旨在取出兩個具有相同值的連續數字。第一個循環的作品,但然後停止,我不明白爲什麼。這裏是代碼:
{
int count;
int y;
int z;
int b;
int c;
int d;
int a;
int ct;
y = 0;
z = 1;
d = 0;
count = 0;
if (value > 0)
while ((z * 10 + z) != (y % 100))
{
y = value % 10 + y * 10;
z = y % 10;
value /= 10;
count = count + 1;
}
value = value * pow(10, count - 2);
y = y/100;
count = count - 3;
while(y > 0)
{
b = y % 10;
c = pow(10, count);
d = d + c * b;
y = y/10;
count = count - 1;
}
value = value + d;
ct = 1;
printf("After change #%d: %d\n", ct, value);
a = value;
while (a > 1)
{
if((a % 100) - (a % 10) - (10 * (a % 10)) == 0)
Change(value);
else
a = a/10;
}
return;
}
它看起來像你治療輸入值爲整數。將它看作一個字符串可能更容易。如果你沒有對它進行數學計算,那不是一個數字。 – Velox
這是一個數字,它是用戶輸入的1223445,就像我在頁面頂部所說的 – bhaan
@bhaan:你錯過了上述評論的要點 - 如果你將'value'改爲'string'那麼代碼將更容易實現。 –