c语言求100到1000水仙花数

供稿:hz-xin.com     日期:2025-01-13
```c
#include
int main() {
int i, j, k, n;
printf("水仙花数是:\n");
for (n = 100; n < 1000; n++) {
i = n / 100; /* 百位上的数 */
j = (n % 100) / 10 - i * 10; /* 十位上的数 */
k = n % 10; /* 个位上的数 */
if (n == i * i * i + j * j * j + k * k * k) {
printf("%d\n", n);
}
}
printf("\n");
return 0;
}
```
这段代码的目的是找出100到1000之间的水仙花数。水仙花数是指一个三位数,它的每个位上的数字的立方和等于它本身。例如:153是一个水仙花数,因为153 = 1^3 + 5^3 + 3^3。
以下是代码的逐行解释:
1. 包含标准输入输出头文件`stdio.h`。
2. 定义主函数`main`。
3. 声明变量`i`、`j`、`k`和`n`,`n`用于循环。
4. 打印提示信息“水仙花数是:”。
5. 使用`for`循环,从100遍历到999(不包括1000)。
6. 计算`n`的百位、十位和个位数字。
7. 检查这三个数字的立方和是否等于`n`本身。
8. 如果相等,打印出这个数。
9. 循环继续,直到遍历完所有的数。
10. 打印换行符,结束程序。
注意:在原始代码中,`j`的计算方式有误,它没有正确地从`n`中分离出十位数。我已经修正了这一点,现在`j`的计算方式是正确的。

用C语言求出100到1000之间的水仙花数?
printf("100到1000之间的水仙花数有:\\n");for (i = 100; i <= 1000; i++) { h = i \/ 100; \/\/ h为百位上的数 t = (i - h * 100) \/ 10; \/\/ t为十位上的数 digit = i - h * 100 - t * 10; \/\/ digit为个位上的数 if (i == h * h * h + t ...

c语言求100到1000水仙花数
printf("水仙花数是:\\n");for (n = 100; n < 1000; n++) { i = n \/ 100; \/* 百位上的数 *\/ j = (n % 100) \/ 10 - i * 10; \/* 十位上的数 *\/ k = n % 10; \/* 个位上的数 *\/ if (n == i * i * i + j * j * j + k * k * k) { printf("...

c语言求100到1000水仙花数
printf("水仙花数:\\n");for (n=100;n<1000;n++){i=n\/100; \/*百位上的数*\/ j=n\/10-i*10;\/*十位上的数*\/ k=n%10; \/*个位上的数*\/ if (n == i*i*i + j*j*j + k*k*k)printf("%d ",n);} printf("\\n");return 0;} 希望对你有帮助!

编程打印出100到1000所有的水仙花数
运行上述程序,可以得到100到1000之间的所有水仙花数,它们是153、370、371、407。水仙花数的命名来源于一个传说,说有一位数学家在梦中得到了一个神秘的数字,醒来后发现这个数字就是153,因为13+53+33 = 153。这个传说使得水仙花数在数学界引起了广泛关注。在数学中,水仙花数是一种特殊的数字,除了水...

用C#语言,100到1000“水仙花”数!!
< 1000; i++) { int bai = 0; int shi = 0; int ge = 0; int baiyushu = 0; bai = i \/ 100; baiyushu = i % 100; shi = baiyushu \/ 10; ge = baiyushu % 10; if (i == bai * bai * bai + shi * shi * shi + ge * ge * ge) { Response.Write("水仙花数...

C语言求1000以内的水仙花数?
在C语言中,水仙花数是指一个n位数,它的每个位上的数字的n次幂之和等于它本身。在1000以内,我们要寻找三位数的 水仙花数。下面是一个C语言程序的示例,它正确地找出了1000以内的所有水仙花数:```c include int main() { int i, h, t, a;for (i = 100; i < 1000; i++) { h = i...

C-Free教程之C语言输出水仙花数的方法
printf("100-1000之间的水仙花数是:");3、然后我们要写一个for循环来得到100-1000的各个数字为下面的条件做条件 for(n=100;n<1000;n++){ } 4、现在我们需要获得100-1000之内的数字的个位,十位,百位。i=n\/100;j=n\/10%10;k=n%10;5、然后在这里输入一个if语句作为判断是否是水仙花数。

使用T-SQL语言统计100-1000之间的水仙花数个数并打印输出.
declare @num intset @num=99declare @n1 int--第一位数declare @n2 int--第二位数declare @n3 int--第三位数declare @n int--N次方declare @result int --次方相加的结果set @n=3while @num<=1000beginset @num=@num+1set @n1=convert(int,substring(convert(varchar(10),@num),1,1))...

C语言中,输出100到1000内的所有水仙花数
include <stdio.h>void main(){int i,j,k,s=0;for(i=100;i<1000;i++){k=i;while(k){j=k%10;s+=j*j*j;k\/=10;}if(s==i) printf("%d ",i);s=0;}}

大一c语言求水仙花数
大一c语言求水仙花数方法如下:1、首先打开编辑器,写上注释内容。2、新建4个变量,分别是num,b,s,g分别代表三位数,百位数,十位数,个位数。3、然后写for循环,从100开始,最后到1000,自增。4、然后分别求出这个三位数的百位,十位,个位。5、接着判断百位的3次方+十位的3次方+个位的3次方...