c中的阿姆斯特朗号码程序错误输出

时间:2018-01-18 08:28:02

标签: c

输出仅为0和1。

int main()
{
int i, n=0, rem, sum=0, temp;

for(i=0; i<1000; i++) {
  temp = n;

  while(temp>0){
      rem = temp%10;
      sum += rem*rem*rem;
      temp /= 10;
  }

  if (sum == i){
    printf("%d ", i);
  }
  n++;
}

1 个答案:

答案 0 :(得分:0)

对于每个值总和必须为零,这是第一次校正。我必须被分配给变量temp,因为如果它是非常强的数字,则必须检查i值。如果它将起作用的改变。

#include<stdio.h>
int main()
 {
   int i, rem, sum=0, temp;
   for(i=0; i<1000; i++) 
    {
        temp = i;
        sum=0;
        while(temp>0)
         {
             rem = temp%10;
             sum += rem*rem*rem;
             temp /= 10;
          }

       if (sum == i)
          {
             printf("\n%d ", i);
           }

}

输出 0
1
153个
370个
371个
407