写出100到999的所有水仙花数 C语言
时间: 2024-02-27 12:51:23 浏览: 102
可以使用循环语句和条件语句来实现输出100到999的所有水仙花数,以下是一个简单的C语言代码实现:
```c
#include <stdio.h>
#include <math.h>
int main() {
int num, digit, sum;
for (num = 100; num <= 999; num++) {
sum = 0;
int temp = num;
while (temp > 0) {
digit = temp % 10;
sum += pow(digit, 3);
temp /= 10;
}
if (num == sum) {
printf("%d\n", num);
}
}
return 0;
}
```
在上面的代码中,我们使用`for`循环从100到999遍历每个数字,然后使用一个临时变量`temp`来存储当前数字,使用`while`循环来将当前数字分离出每个位上的数字并计算它们的立方和得到`sum`,最后判断当前数字是否等于它的立方和,如果是,则输出该数字。需要注意的是,我们使用了math.h头文件中的`pow()`函数来计算数字的立方,因此需要在程序开头包含该头文件。
相关问题
用C语言写出100到999的水仙花数
#include <stdio.h>
#include <math.h>
int main() {
int i, j, k, num, sum;
printf("水仙花数有:");
for(i=1; i<=9; i++) {
for(j=0; j<=9; j++) {
for(k=0; k<=9; k++) {
num = i*100 + j*10 + k;
sum = pow(i,3) + pow(j,3) + pow(k,3);
if(num == sum) {
printf("%d ", num);
}
}
}
}
printf("\n");
return 0;
}
写出所有水仙花数c语言
水仙花数是一种特殊的三位数整数,它的各位数字立方之和等于它本身。例如,153是一个水仙花数,因为 1^3 + 5^3 + 3^3 = 1 + 125 + 27 = 153。
以下是使用C语言编写的一个简单程序,用于找出所有的水仙花数:
```c
#include <stdio.h>
// 检查是否是水仙花数
int is narcissistic(int num) {
int digits[4], sum = 0;
if (num < 100 || num > 999) return 0; // 只考虑三位数
while (num != 0) {
digits[0] = num % 10;
sum += digits[0]*digits[0]*digits[0];
num /= 10;
}
return sum == num;
}
// 主函数遍历并打印水仙花数
void find_narcissistic_numbers() {
for (int i = 100; i <= 999; ++i) {
if (is Narcissistic(i)) {
printf("%d ", i);
}
}
}
int main() {
find_narcissistic_numbers();
return 0;
}
阅读全文