21xrx.com
2025-03-29 06:54:16 Saturday
文章检索 我的文章 写文章
C语言中如何判断水仙花数
2023-06-15 20:16:02 深夜i     12     0
C语言 函数 水仙花数

水仙花数指的是一个三位数,其各位数字立方和等于这个数本身。例如:153=1^3+5^3+3^3。如果我们在C语言中想要判断一个数字是否为水仙花数,就需要使用到函数。

首先,我们需要定义一个函数来判断一个数字是否为水仙花数。这个函数需要接收一个参数,即待判断的数字,然后判断其是否满足水仙花数的条件。如果满足条件,则返回真,否则返回假。

判断过程的具体实现可以按照以下步骤:

1. 将数字按位拆分得到个位数、十位数和百位数;

2. 将这三个数分别立方后相加;

3. 将相加后的结果与原数字进行比较,判断是否相等。

以下是实现上述步骤的C语言代码:

#include 
#include 
bool isNarcissistic(int num) {
  int units = num % 10;
  int tens = (num / 10) % 10;
  int hundreds = num / 100;
  return (num == units * units * units + tens * tens * tens + hundreds * hundreds * hundreds);
}
int main() {
  int num;
  printf("请输入一个三位数:");
  scanf("%d", &num);
  if (isNarcissistic(num)) {
   printf("%d是水仙花数\n", num);
  } else {
   printf("%d不是水仙花数\n", num);
  }
  return 0;
}

以上代码中,函数isNarcissistic接收一个整型参数num,代表待判断的数字。该函数通过将num按位拆分得到各位数,再分别立方后相加,最后与原数字进行比较,判断num是否为水仙花数。函数返回值为真或假,表示num是否是水仙花数。

  
  

评论区