【发布时间】:2021-02-20 07:49:41
【问题描述】:
我需要在没有任何高级东西的情况下以某种方式遍历 C 中的整数。我真的不明白将数字修改 10 与此迭代有何关系,或者它如何神奇地返回最后一个整数。 有人能解释一下如何做到这一点并遍历一个整数并给我看 C 代码吗?
我的代码根本不工作,实际上什么也没做,没有输出。但请给我看。
#include <stdio.h>
int main (void)
{
printf("Enter a value.\n");
int x = 0;
scanf("%d", &x);
while (x < 0)
{
printf("Enter another integer please.\n");
scanf("%d", &x);
}
int counter = 0;
// tries to iterate through freaking integer but literally doesn't work or does nothing
while (x > 0)
{
counter = counter + x;
x = x % 10;
}
printf("The total sum of the integer's digits are %d\n", counter);
}
【问题讨论】:
-
如果您了解模数的作用,应该很明显它是如何遍历数字的。
-
我不知道,这不是什么工作。你能帮我或至少给我看看伪代码吗?我们从来没有学过模数,它在任何时候都是高中或大学的逻辑,这些东西真的让我很困惑。 mod如何以及为什么通过数字进行交互,你能评论并向我展示代码吗?为什么修改 10 可以工作,为什么我的代码不工作?请给我看
-
您可以通过将数字输入为字符串来简单地遍历数字的数字。您逐位键入它,它们就在那里,并且不受
int可以表示的大小的限制。但除此之外,我建议将循环更改为while (x > 0) { counter += x % 10; x /= 10; }