写一个水仙花数的c++代码
时间: 2023-06-03 19:06:53 浏览: 96
Sure, 以下是写一个水仙花数的C代码:
```c
#include <stdio.h>
#include <math.h>
int main()
{
int num, originalNum, remainder, n = 0;
float result = 0.0;
printf("请输入一个三位数:");
scanf("%d", &num);
originalNum = num;
while (originalNum != 0)
{
originalNum /= 10;
++n;
}
originalNum = num;
while (originalNum != 0)
{
remainder = originalNum % 10;
result += pow(remainder, n);
originalNum /= 10;
}
if ((int)result == num)
printf("%d 是水仙花数", num);
else
printf("%d 不是水仙花数", num);
return 0;
}
```
注意:在此示例中,有些人认为水仙花数是指任意数量的数字的情况。因此,如果您希望检查4位或5位数的水仙花数,则要相应地更改“ n”的值。
相关问题
输出所有水仙花数c++代码
以下是输出所有水仙花数的 C++ 代码:
```c++
#include <iostream>
using namespace std;
int main() {
int num, sum, temp;
for (int i = 100; i <= 999; i++) {
num = i;
sum = 0;
while (num > 0) {
temp = num % 10;
sum += temp * temp * temp;
num /= 10;
}
if (sum == i) {
cout << i << " ";
}
}
return 0;
}
```
这段代码可以输出所有三位数的水仙花数。
用c++写一个水仙花数
以下是用 C 语言写一个水仙花数的代码:
#include <stdio.h>
#include <math.h>
int main()
{
int num, originalNum, remainder, n = 0;
float result = 0.0;
printf("请输入一个三位数:");
scanf("%d", &num);
originalNum = num;
// 计算位数
while (originalNum != 0) {
originalNum /= 10;
++n;
}
originalNum = num;
// 计算立方和
while (originalNum != 0) {
remainder = originalNum % 10;
result += pow(remainder, n);
originalNum /= 10;
}
// 判断是否为水仙花数
if ((int)result == num) {
printf("%d 是一个水仙花数。\n", num);
}
else {
printf("%d 不是一个水仙花数。\n", num);
}
return 0;
}
注意:这只是一个示例代码,可能存在一些问题,仅供参考。
阅读全文