判断水仙花数c语言编码
时间: 2023-11-20 19:54:56 浏览: 124
以下是判断水仙花数的C语言代码:
```c
#include <stdio.h>
void main () {
int i,j,k,n;
printf ("result is:");
for (n=100; n<1000;n++) {
i=n/100;//分离出百分位
j=(n%100)/10;//分离出十分位
k=(n%100)%10;//分离出个位
if (n==i*i*i+j*j*j+k*k*k)
printf ("%d ", n);
}
printf ("\n");
}
```
该代码通过循环遍历100到999之间的所有数,分离出每个数的百位、十位和个位,然后判断该数是否等于它的各位数字的立方和。如果是,则输出该数,即为水仙花数。
相关问题
判断水仙花数c语言深圳大学
判断一个整数是否是水仙花数,是指它的每一位数字立方之和等于原数本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 1 + 125 + 27 = 153。
在C语言中,可以编写一个函数来检查这个特性。下面是一个简单的示例:
```c
#include <stdio.h>
// 定义一个函数来计算数字各位立方和
int sum_of_cubes(int num) {
int digits[4]; // 假设最多有4位数
int sum = 0;
int place = 1; // 用于存储当前位数
while (num != 0) {
digits[place] = num % 10;
sum += (digits[place] * digits[place] * digits[place]);
num /= 10;
place++;
}
return sum;
}
// 主函数来检查是否为水仙花数
int main() {
int num;
printf("请输入一个三位数:");
scanf("%d", &num);
if (sum_of_cubes(num) == num) {
printf("%d 是水仙花数。\n", num);
} else {
printf("%d 不是水仙花数。\n", num);
}
return 0;
}
```
判断水仙花数c语言程序
以下是判断水仙花数的C语言程序:
```c
#include <stdio.h>
int main() {
int num, digit, sum = 0, temp;
printf("输入一个三位数:");
scanf("%d", &num);
temp = num;
while (temp != 0) {
digit = temp % 10;
sum += digit * digit * digit;
temp /= 10;
}
if (sum == num)
printf("%d 是水仙花数\n", num);
else
printf("%d 不是水仙花数\n", num);
return 0;
}
```
程序逻辑如下:
1. 首先从用户输入读取一个三位数
2. 将这个数存储在变量 `num` 中,并将其赋值给变量 `temp`
3. 通过循环取出变量 `temp` 的每个数字,并计算其立方和,存储在变量 `sum` 中
4. 如果变量 `sum` 的值等于原始输入的数字 `num`,则输出该数字是水仙花数;否则输出不是水仙花数。
阅读全文