21xrx.com
2025-03-31 08:23:13 Monday
文章检索 我的文章 写文章
C++语言程序:水仙花数
2023-07-04 08:18:38 深夜i     22     0
C++ 水仙花数 循环 判断 输出

水仙花数是指一个数的每个位上的数字的立方和等于该数本身,例如153是一个水仙花数,因为1³+5³+3³=153。今天我们来用C++语言编写一个程序,来判断一个数字是否是水仙花数。

代码如下:

#include <iostream>
using namespace std;
int main()
{
  int num, originalNum, remainder, result = 0;
  cout << "请输入一个三位数: ";
  cin >> num;
  originalNum = num;
  while (originalNum != 0)
  {
    remainder = originalNum % 10;
    result += remainder * remainder * remainder;
    originalNum /= 10;
  }
  if (result == num)
    cout << num << "是一个水仙花数";
  else
    cout << num << "不是一个水仙花数";
  return 0;
}

在这个程序中,我们首先要求用户输入一个三位数,然后将这个数字存储在变量num中。接着,我们将这个数字存储在另一个变量originalNum中,以便在后面的判断中使用。

接下来,我们使用while循环来计算每个位上数字的立方和。我们首先使用模运算来获取数字的个位数,将其立方后加入到result中。然后我们将originalNum除以10,这样就可以获取下一位数字的值,接着计算它的立方和。当整个数字的每一位数字的立方和计算完成后,我们将得到result的值。

最后,我们使用一个if语句来判断计算出来的结果是否与原始的数字num相等。如果相等,我们就说明这个数字是一个水仙花数,如果不相等,那么这个数字就不是一个水仙花数。

在练习C++编程过程中,这个简单的程序可以帮助我们更好地理解循环和条件语句的使用,而且它还展示了如何使用变量和数学公式进行计算,可以说是一个很好的入门练习。

  
  

评论区