程序代码
#include <stdio.h>
#include <stdlib.h>
/*
*csdn学院--2017级
*目的:让代码见证成长(作为一个初学的菜鸟,如
*大家有发现错误,欢迎指正!)
*文件名称:Myfun84.c
*作者:小臣小仁
*完成日期:2017年1月3日
*问题描述:如果一个正整数等于其各个数字的立方和,
*则称该数为阿姆斯特朗数(亦称为自恋性数)。
*如 407=43+03+73就是一个阿姆斯特朗数。
*试编程求1000以内的所有阿姆斯特朗数。
*/
int main()
{
int n,i,m,sum;
for(i=1;i<1000;i++)
{
n=i;
m=0;
sum=0;
while(n>0)
{
m=n%10;
sum+=(m*m*m);
n/=10;
if(i==sum)
printf("%d\t",i);
}
}
return 0;
}
输出结果
知识点总结
最关键的程序在这里 m=n%10; 先取模,然后个位数立方,然后对需要判断的数除10,然后在判断,直到n<0,然后退出,进行判断是否等于原数
sum+=(m*m*m);
n/=10;
sum+=(m*m*m);
n/=10;
心得体会
学会了怎么判断1000内一个正整数等于其各个数字的立方和