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'那么代码将更容易实现。 –