21xrx.com
2025-07-13 22:30:50 Sunday
登录
文章检索 我的文章 写文章
C++ while语句实现水仙花数
2023-06-28 14:34:49 深夜i     24     0
C++ while语句 水仙花数

水仙花数是指一个三位数,其各位数字的立方和等于该数本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。在C++语言中,可以使用while语句来实现水仙花数的求解。

如何使用while语句实现水仙花数的求解呢?首先我们需要了解while语句的基本语法。while语句的基本形式如下:

while (条件表达式)
  循环体语句;

while语句的执行步骤是这样的:首先计算条件表达式的值;如果该值为真,执行循环体语句,然后再次计算条件表达式的值;如果该值为假,则跳出while循环。

因此,我们可以使用如下的代码来实现水仙花数的求解:

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

上述代码中,首先用户输入一个三位数,然后将该数赋值给变量num。接着我们定义了变量temp、remainder和sum,temp用于保存num的值,remainder用于保存temp的个位数,sum用于保存每个位数的立方和。

接下来使用while语句进行循环操作,在循环体中,使用取模运算和除法运算分别计算出temp的个位数和十位数,然后将这些位数的立方相加,计算出总的立方和。最后,通过判断sum是否与num相等,来确定当前的数是否为水仙花数,并输出相应的结果。

通过这种方法,我们可以很方便地使用while语句来实现水仙花数的求解。当然,在实际的编程过程中还需要注意一些细节问题,例如输入的数字必须是三位数等。但是无论如何,我们都可以通过while语句,以一种简单而又高效的方式来完成数值计算任务。

  
  

评论区