用c语言打印出水仙花数
时间: 2023-06-02 08:07:15 浏览: 114
Sure, 下面是用 C 语言打印出水仙花数的代码:
```c
#include <stdio.h>
int main() {
int low, high, i, num, digit1, digit2, digit3;
printf("请输入一个区间的两个数(中间用空格隔开):\n");
scanf("%d %d", &low, &high);
printf("%d ~ %d 之间的水仙花数有:\n", low, high);
for (i = low; i <= high; i++) {
num = i;
digit1 = num % 10;
num /= 10;
digit2 = num % 10;
num /= 10;
digit3 = num % 10;
if (i == digit1 * digit1 * digit1 + digit2 * digit2 * digit2 + digit3 * digit3 * digit3) {
printf("%d\n", i);
}
}
return 0;
}
```
希望可以帮助到你!
相关问题
C语言打印出水仙花数
水仙花数是一个三位数,其各位数字立方和等于该数本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。在C语言中,你可以通过编写一个循环来找出所有的水仙花数。下面是一个简单的示例程序:
```c
#include <stdio.h>
int main() {
int i, j, k;
for (i = 100; i <= 999; ++i) { // 从100到999遍历
int sum = 0;
int number = i; // 将当前数字分解
while (number > 0) {
// 取出每一位数字并计算立方和
k = number % 10;
sum += k * k * k;
number /= 10;
}
// 检查是否是水仙花数
if (sum == i) {
printf("%d 是一个水仙花数。\n", i);
}
}
return 0;
}
```
C语言打印出水仙花数并输出第几朵水仙花
水仙花数(Narcissistic Number),也称为自恋数,是指一个数字等于其各个位上的数字的立方之和。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。
在C语言中,你可以创建一个函数来检查一个数是否是水仙花数,然后遍历一定范围内的数字,找出所有的水仙花数并计数。下面是一个简单的示例代码:
```c
#include <stdio.h>
int cube(int num) {
return num * num * num;
}
int is_narcissistic(int n) {
int sum = 0;
int temp = n;
while (temp != 0) {
int digit = temp % 10;
sum += cube(digit);
temp /= 10;
}
return sum == n;
}
void print_narcissists(int start, int end) {
int count = 0;
for (int i = start; i <= end; i++) {
if (is_narcissistic(i)) {
printf("%d 是第%ld朵水仙花\n", i, ++count);
}
}
}
int main() {
int range_start = 100;
int range_end = 999;
print_narcissists(range_start, range_end);
return 0;
}
```
这个程序会在指定范围内找出所有水仙花数,并在每次找到时输出它是第几个水仙花。
阅读全文
相关推荐













