C中重复数字和的错误

sar*_*ana -3 c

数字和65536是7,因为6 + 5 + 5 + 3 + 6 = 25和2 + 5 = 7我只想为上述任务制作程序.但是当第一次加入10以上时我没有得到正确答案

程序:

#include <stdio.h>

int main()
{
    int N, sum = 0, temp;
    scanf("%d",&N);

    while(1)
    {
        temp = N%10;
        sum += temp;
        N = N/10;

        if(N==0) {
            if(sum>=10) {
                N = sum;
            }
            else {
                break;
            }

        }
    }

    printf("%d", sum);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

Lea*_*ngC 6

如果数字不为零,你可以直接得到数字和

value=number % 9
Run Code Online (Sandbox Code Playgroud)

如果该值为0,则考虑该数字的总和等于9.
阅读此链接以了解其工作原理