- C 编程有用资源
- 按示例学习 C - 快速指南
- 按示例学习 C - 资源
- 按示例学习 C - 讨论
C 语言阿姆斯壮数程序
阿姆斯壮数等于其各个数字的立方和。例如,153 是阿姆斯壮数,因为 -
153 = (1)3 + (5)3 + (3)3 153 = 1 + 125 + 27 153 = 153
算法
此程序的算法非常简单 -
START Step 1 → Take integer variable Arms Step 2 → Assign value to the variable Step 3 → Split all digits of Arms Step 4 → Find cube-value of each digits Step 5 → Add all cube-values together Step 6 → Save the output to Sum variable Step 7 → If Sum equals to Arms print Armstrong Number Step 8 → If Sum not equals to Arms print Not Armstrong Number STOP
伪代码
我们可以草拟以上算法的伪代码,如下所示 -
procedure armstrong : number check = number rem = 0 WHILE check IS NOT 0 rem ← check modulo 10 sum ← sum + (rem)3 divide check by 10 END WHILE IF sum equals to number PRINT armstrong ELSE PRINT not an armstrong END IF end procedure
实现
此算法的实现如下。你可以更改 arms
变量的值,然后执行和检查你的程序 -
#include <stdio.h> int main() { int arms = 153; int check, rem, sum = 0; check = arms; while(check != 0) { rem = check % 10; sum = sum + (rem * rem * rem); check = check / 10; } if(sum == arms) printf("%d is an armstrong number.", arms); else printf("%d is not an armstrong number.", arms); return 0; }
输出
程序的输出应该是 -
153 is an armstrong number.
mathematical_programs_in_c.htm
广告