为什么这个 C 代码会产生无限循环?

罗宾得到
#include <stdio.h>

int count_cycle(int n);

int main() {
    int N; scanf("%d", &N);
    printf("%d",count_cycle(N));
    return 0;
}

int count_cycle(int n) {
    int N = n; int _N;
    int count = 0;
    int x, y;
    while(_N!=N) {
        x = N / 10;
        y = N % 10;
        _N = 10 * y + ((x+y)%10);
        count++;
    }    
    return count;
}

我一直在练习关于上面表示的具有循环的特定自然数的基本算法。但是这段代码的结果是无限循环。我想要的伪代码是这样的。

function count_cycle    
count = 0
    ==loop==
    N = 10x + y (0 <= x,y <= 9)
    N' = 10 * y + (x+y) mod 10 
    if N' == N then 
        break;
    else then 
        N = N' 
        count++ 
        continue;
    ====
return count

我应该如何使此代码正常工作?

摇摆

你错过了 _N 的初始化,所以它永远不会等于 N,你将永远停留在 while 循环中

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

为什么这个C ++函数会产生混乱的输出?

为什么这个 C 结构体初始化代码会产生总线错误?

为什么这个 C++ 循环不能无限运行?

为什么这个循环在c中运行无限次?

为什么这个 C 程序会崩溃?

为什么 for 会产生无限循环?

为什么会产生无限循环?

为什么这个 SetTimeout 会无限循环?

为什么这个'C'代码的输出是这样的?

如果数字大于或等于772000000000000,为什么我的python代码会产生无限循环?

为什么这个for循环是无限的?

为什么这个无限循环

为什么这个while循环会导致无限循环?

理解的问题浮在c ..为什么会陷入无限循环?

为什么 C# 反射会抛出这个 BadImageFormatException

为什么此for语句会产生无限循环

为什么在 setTimeout 中更改状态会产生无限循环

为什么这个 setState 会导致无限循环?

为什么这个bash程序会陷入无限循环?

为什么这个javascript循环会无限返回?

为什么这个C ++函数会产生如此多的分支错误预测?

这个 C 程序可以工作,但编译会产生错误。为什么?

为什么 C 中的这个 while 循环不起作用?

为什么这个 for 循环总是显示 'o's.C++

C++:为什么这个 for 循环中的总和为 0?

为什么这个 C 代码(写入 unix 管道)不无限迭代?

为什么我的C ++代码将进入无限循环?

为什么这个基本的Java代码会产生不同的输出?

为什么这个几乎相同的代码会产生不同的结果