🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# C++ 程序:显示两个间隔之间的阿姆斯特朗数 > 原文: [https://www.programiz.com/cpp-programming/examples/armstrong-number-interval](https://www.programiz.com/cpp-programming/examples/armstrong-number-interval) #### 使用循环和`if...else`语句查找两个整数(由用户输入)之间的所有阿姆斯特朗数的示例。 要理解此示例,您应该了解以下 [C++ 编程](/cpp-programming "C++ tutorial")主题: * [C++ `if`,`if...else`和嵌套`if...else`](/cpp-programming/if-else) * [C++ `for`循环](/cpp-programming/for-loop) * * * 该程序要求用户输入两个整数,并显示给定间隔之间的所有阿姆斯特朗数字。 如果您在编程时不知道如何检查数字是否为阿姆斯特朗,则该程序似乎有点复杂。 访问此页面以了解 [阿姆斯特朗数以及如何在 C++ 编程](/cpp-programming/examples/check-armstrong-number "C programming source code Armstrong number")中对其进行检查。 ## 示例:显示间隔之间的阿姆斯特朗数 ```cpp #include <iostream> using namespace std; int main() { int num1, num2, i, num, digit, sum; cout << "Enter first number: "; cin >> num1; cout << "Enter second number: "; cin >> num2; cout << "Armstrong numbers between " << num1 << " and " << num2 << " are: " << endl; for(i = num1; i <= num2; i++) { sum = 0; num = i; for(; num > 0; num /= 10) { digit = num % 10; sum = sum + digit * digit * digit; } if(sum == i) { cout << i << endl; } } return 0; } ``` **输出** ```cpp Enter first number: 100 Enter second number: 400 Armstrong numbers between 100 and 400 are: 153 370 371 ``` 在此程序中,假定用户总是先输入较小的数字。 如果用户先输入较大的数字,该程序将不会执行预期的任务。 如果用户首先输入较大的数字以使该程序正常工作,则可以将代码添加到[交换用户输入的两个数字](/cpp-programming/examples/swapping "C program to swap numbers")。 在此程序中,间隔之间的每个数字都被获取并存储在变量`num`中。 然后,在`num`中检索数字的每个数字并进行立方化(`^ 3`)。 将最后一位数字的求立方的结果添加到`sum`中。 最后,当遍历每个数字时,将`sum`与原始数字`i`进行比较。 如果它们相等,则该数字为阿姆斯特朗数字。