21xrx.com
2024-09-20 00:24:38 Friday
登录
文章检索 我的文章 写文章
C++代码-判断水仙花数
2023-07-05 12:31:40 深夜i     --     --
C++ 代码 水仙花数 判断 循环

水仙花数是指一个三位数,它的各位数字的立方和等于该数本身。比如:153 是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。

在 C++ 中,我们可以使用循环语句和条件语句来判断一个数是否为水仙花数。下面是一段示例代码:


#include <iostream>

using namespace std;

int main()

{

  int num, temp, digit, sum = 0;

  cout << "请输入一个三位数:";

  cin >> num;

  temp = num;

  while (temp != 0)

  {

    digit = temp % 10;

    sum += digit * digit * digit;

    temp /= 10;

  }

  if (num == sum)

    cout << num << " 是一个水仙花数";

  else

    cout << num << " 不是一个水仙花数";

  return 0;

}

注释:

- `num`:输入的三位数

- `temp`:用来保存 `num` 的副本,方便后面的计算

- `digit`:取出 `temp` 的个位数

- `sum`:用来保存各位数字的立方和

代码逐行解释:

1. `#include `:头文件,用于输入输出操作

2. `using namespace std;`:命名空间声明

3. `int main()`:主函数开始

4. `int num, temp, digit, sum = 0;`:定义变量

5. `cout << "请输入一个三位数:";`:输出提示信息

6. `cin >> num;`:输入一个三位数

7. `temp = num;`:将输入的数保存到 `temp` 中

8. `while (temp != 0)`:循环开始,条件为 `temp` 不等于 0

9. `digit = temp % 10;`:取 `temp` 的个位数并保存到 `digit` 中

10. `sum += digit * digit * digit;`:将 `digit` 的立方加到 `sum` 中

11. `temp /= 10;`:去掉 `temp` 的个位数,保留十位和百位

12. `if (num == sum)`:判断是否为水仙花数

13. `cout << num << " 是一个水仙花数";`:输出结果

14. `else`:如果不是水仙花数

15. `cout << num << " 不是一个水仙花数";`:输出结果

16. `return 0;`:主函数结束

使用上述代码可以输入一个三位数,然后判断它是否为水仙花数。如果是,输出提示信息,否则输出相应的提示信息。

C++ 是一种强类型编程语言,可以直接进行数值运算和逻辑运算。水仙花数判断程序就是常见的数值运算和逻辑运算的示例之一。对于初学 C++ 的开发人员来说,这个程序是很好的练手项目,可以更好地理解 C++ 程序语言的语言特性,也可以熟悉常规程序设计中一些基础的逻辑。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复