c语言求水仙花数for循环
时间: 2023-11-23 19:07:11 浏览: 97
```c
#include <stdio.h>
int main() {
int i, j, k;
for (i = 1; i <= 9; i++) {
for (j = 0; j <= 9; j++) {
for (k = 0; k <= 9; k++) {
int num = i * 100 + j * 10 + k;
if (num == i * i * i + j * j * j + k * k * k) {
printf("%d\n", num);
}
}
}
}
return 0;
}
```
--相关问题--:
1. 什么是水仙花数?
2. 除了for循环,还有哪些方法
相关问题
c语言求水仙花数思维导图
很抱歉,根据提供的引用内容,没有找到关于C语言求水仙花数的思维导图。但是,我可以为您提供一份C语言求水仙花数的代码和思路:
思路:
1. 循环遍历所有三位数
2. 将三位数的每一位数分离出来
3. 计算每一位数的立方和
4. 判断计算结果是否等于原数,如果相等则为水仙花数
代码:
```c
#include <stdio.h>
#include <math.h>
int main() {
int i, num, digit, sum;
printf("水仙花数为:");
for (i = 100; i < 1000; i++) {
num = i;
sum = 0;
while (num > 0) {
digit = num % 10;
sum += pow(digit, 3);
num /= 10;
}
if (sum == i) {
printf("%d ", i);
}
}
return 0;
}
```
c语言求水仙花数的和
根据提供的引用内容,我们可以看出这里提供了两种方法来求解C语言中的水仙花数。下面将分别介绍这两种方法:
方法1 - 利用思路2.1求解:
```c
#include<stdio.h>
int main() {
int a,b,c,num1,num2;//百位:a; 十位:b; 个位:c;
//num1: 每一位三次幂之和; num2:水仙花数
int sum = 0; // 水仙花数的和
for(a=1;a<=9;a++)//百位循环
{
for(b=0;b<=9;b++)//十位循环
{
for(c=0;c<=9;c++)//个位循环
{
num1=a*a*a+b*b*b+c*c*c; num2=a*100+b*10+c;
if(num1==num2)//判断是否为水仙花数
{
sum += num2; // 累加水仙花数
}
}
}
}
printf("水仙花数的和为:%d\n", sum);
return 0;
}
```
方法2 - 利用思路2.2求解:
```c
#include<stdio.h>
int main() {
int a,b,c,num;
int sum = 0; // 水仙花数的和
for(num=100;num<1000;num++) {
a=num/100;//取得数字的百位
b=num/10%10;//取得数字的十位
c=num%10;//取得数字的个位
if(num==a*a*a+b*b*b+c*c*c)//条件比较
{
sum += num; // 累加水仙花数
}
}
printf("水仙花数的和为:%d\n", sum);
return 0;
}
```
阅读全文