编程题:
判断Armstrong数(阿姆斯壮数)
Armstrong 数,就是n位数的各位数的n次方之和等于该数,如:
153=1^3+5^3+3^3 1634=1^4+6^4+3^4+4^4
#include <math...
用户登录可进行刷题及查看答案
#include <math.h> #include <stdio.h> int main() { int sum=0; int n,x,y; int s=0; printf("请输入一个数字\n"); scanf("%d",&n); y=x=n; do { n=n/10; s++; }while(n!=0); printf("%d 是 %d 位数\n",x,s); int num[s]; for(int i=s-1;i>=0;i--)//将输入数字的每位数字进行存储 { num[i]=x%10; x=x/10; } /*printf("将输入的数字从数组输出以便验证数组存储的是否正确\n"); for(int i=0;i<s;i++) { printf("%d ",num[i]); } printf("\n");*/ for(int i=0;i<s;i++) { sum+=pow(num[i],s);/*pow C 库函数 double pow(double x, double y) 返回 x 的 y 次幂, 即 x^y。需要C 标准库 - <math.h>*/ } if(sum==y) { printf("%d 是阿姆斯壮数",y); }else { printf("%d 不是阿姆斯壮数",y); } return 0; }
登录后提交答案
暂无评论,来抢沙发