找到100到999之间的阿姆斯壮数字

时间:2014-12-28 16:23:20

标签: c

请检查我在这个C程序中出错的地方,该程序应该找到3位Armstrong numbers - 必须介于100和999之间 - 其中阿姆斯壮的三位数是一个整数,以便总和其数字的立方体等于数字本身。

#include <stdio.h>
int main(void)
{
    int i = 100, rem, sum, temp, tnum;

    printf("The 3-digit Armstrong numbers are : ");

    for ( ; i <= 999; i++)
    {
        tnum = i;
        sum = 0;
        while (tnum > 0)
        {
            rem = tnum % 10;
            temp = rem * rem * rem;
            sum = temp + sum;
            tnum = tnum / 10;
        }
        if (i == sum)
            printf("%d\n", sum);
    }
    getch();
}

1 个答案:

答案 0 :(得分:1)

问题似乎与程序编译有关。除getch()函数调用外,该程序看起来很好。如果您使用的是Windows,则应包含<conio.h>。在Linux上,据我所知,没有标准等效的getch(),因此您应该删除getch()调用。