用C语言求出100到1000之间的水仙花数?

供稿:hz-xin.com     日期:2025-01-14
```c
#include
int main() {
int i, h, t, digit;
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 * t * t + digit * digit * digit) {
printf("%d\n", i);
}
}
return 0;
}
```
水仙花数,又称阿姆斯特朗数,是指一个n位数,它的每个位上的数字的n次幂之和等于它本身。在100到1000之间,满足这个条件的数如下:
- 3位数的水仙花数有4个:153, 370, 371, 407;
- 4位数的水仙花数有3个:1634, 8208, 9474;
- 5位数的水仙花数有3个:54748, 92727, 93084;
- 6位数的水仙花数只有1个:548834;
- 7位数的水仙花数有4个:1741725, 7421081, 9800817, 9926315;
- 8位数的水仙花数有3个:24678050, 24678051, 88593477。
以上内容参考自百度百科关于水仙花数的介绍。

c语言求100到1000水仙花数
5. 使用`for`循环,从100遍历到999(不包括1000)。6. 计算`n`的百位、十位和个位数字。7. 检查这三个数字的立方和是否等于`n`本身。8. 如果相等,打印出这个数。9. 循环继续,直到遍历完所有的数。10. 打印换行符,结束程序。注意:在原始代码中,`j`的计算方式有误,它没有正确地从`n`...

C语言输出100至1000间的素数
include <stdio.h> int main(){ for (int i=100;i<=1000;i++){ int k = i-1;while(k>=2){ if (i%k==0){ break;} k--;} if (k==1){ printf("%d是素数\\n",i);} } return 0;}

C语言写程序:把100到1000之间不能被8整除的数输出
以下是一个简单的 C 语言程序,用于输出 100 到 1000 之间不能被 8 整除的数:include <stdio.h> int main() { int i;for (i = 100; i <= 1000; i++) { if (i % 8 != 0) { printf("%d\\n", i);} } return 0;} 程序使用 for 循环遍历 100 到 1000 之间的所有整数,...

c语言 编一程序,求100~1000之间有多少个整数,其各个数位数字之和等于5...
include <stdio.h>int main(void){int i;int a,s,count = 0;for(i = 100; i <=1000; i++){s = 0;a = i;while(a){s = s+a%10;a = a\/10;}if(s == 5){count++;printf("%d ",i);}}printf("总共有%d个数\\n",count);} ...

C语言中有道题:求100~1000之间个位数为6且能被3整除的 所有整数?特级...
前面几楼的程序都不高效,循环次数太多,有些还引入了过多变量 include "stdio.h"int main(){ for (int i = 10;i<100;i++){ if ((10*i+6)%3 ==0){ printf("%d\\n",(10*i+6));} } return 0;}

C语言讲100-1000间个位,十位,百位均相同的三位数赎出来。 例如111,22...
嵌套循环会吧,先循环(100到1000),内部循环(求余 余数赋值 除十 三次)如果三个余数都相等,就输出

100到1000之间所有不能被5整除的和是多少C语言?
要计算 100 到 100 之间所有不能被 5 整除的数的和,可以使用循环遍历每个数,并判断是否不能被 5 整除。如果是,就将该数累加到一个数字的变量中。最后,输出累加器的值即可。下面是一段实现该功能的 C 代码:include <stdio.h> int main() { int sum = ;\/\/ 遍历 100 到 100 的每个数...

c语言中计算100-1000之间有多少个数,其各位数字之和是5的程序
示例:include<iostream.h> intmain(){inti,s,k,count=0;for(i=100;i<1000;i++){s=0;k=i;while(k>0){s=s+k%10;k=k\/10;} if(s!=5)continue;else count++;} cout<<count<<endl;}

用C语言编写:计算100到1000之间各位数字之和为5的个数
include<stdio.h> void main(){ int i=0,j=0,k=0;for(i=1;i<6;i++){ for(j=0;j<5;j++){ for(k=0;k<5;k++){ if((i+k+j) == 5)printf("%d\\t",i*100+j*10+k);} } } }

以函数形式输出100到1000之间各位数字之和能被15整除的所有数,输出时没...
include <stdio.h>int main(int argc, char *argv[]){ int i, count = 0; for(i = 100; i < 1000; ++i) { count += func(i); if( count > 0 && count % 10 == 0 ) { count = 0; putchar('\\n'); } } return 0;}int func(int n...