C 程序 检查阿姆斯特朗数

来源:这里教程网 时间:2026-02-16 13:03:05 作者:

如果数字的各位的立方和等于数字本身,则将数字称为阿姆斯特朗数。在下面的 C 程序中,我们检查输入的数字是否是阿姆斯特朗数。

#include<stdio.h>int main(){   int num,copy_of_num,sum=0,rem;   //Store input number in variable num   printf("\nEnter a number:");   scanf("%d",&num);   /* Value of variable num would change in the      below while loop so we are storing it in       another variable to compare the results       at the end of program   */   copy_of_num = num;   /* We are adding cubes of every digit    * and storing the sum in variable sum    */    while (num != 0)   {      rem = num % 10;      sum = sum + (rem*rem*rem);      num = num / 10;   }   /* If sum of cubes of every digit is equal to number    * itself then the number is Armstrong    */   if(copy_of_num == sum)      printf("\n%d is an Armstrong Number",copy_of_num);   else      printf("\n%d is not an Armstrong Number",copy_of_num);   return(0);}

输出:

Enter a number: 370370 is an Armstrong Number

您可以像这样验证结果:

370 = 3*3*3 + 7*7*7 + 0*0*0    = 27 + 343 + 0    = 370

如您所见,数字 370 的各位立方和等于数字本身。

相关推荐