输出100至999的所以水仙花数的c语言,自己想得程序,有什么问题?

#include<stdio.h>
void main()
{
int i,k,n,sum=0;
for(i=100;i<=999;i++){
n=i;

while(n!=0){
k=n%10;
n=n/10;
sum+=k*k*k;}
if(sum==i)
printf("%4d",i);}
}

#include<stdio.h>
void main()
{
int i,k,n;
for(i=100;i<=999;i++){
n=i;
int sum=0;//这句应当放在循环里面,不然sum值会越来越大,自然没有结果

while(n > 0){
k=n%10;
n=n/10;
sum+=k*k*k;}
if(sum==i)
printf("%4d",i);}
}追问

原来如此,非常感谢,这东西困扰了我很久~

追答

嘿嘿,给个满意呗

温馨提示:内容为网友见解,仅供参考
第1个回答  2012-05-27
参考一下
#include<stdio.h>
#include<math.h>
void main()
{
int i,a,b,c;
for(i=100;i<=999;i++)
{
a=i/100;
b=i%100/10;
c=i%10;
if(i==(pow(a,3)+pow(b,3)+pow(c,3)))
printf("%d\n",i);
}
}

用c语言编写程序实现打印出100-999的所有水仙花数
\/ 题目:打印出100-999之间所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。1.程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。\/ public static void main(String[...

C语言 从100到999中输出"水仙花数" 例如153,1*1*1+5*5*5+3*3*3=153...
11 for(i = 100; i <= 999; i++)12 {13 k = i;14 s = 0;15 while(k)16 {17 m = k % 10;18 k \/= 10;19 s += m*m*m;20 }21 if(s == i) printf("%d\\n", i);22 } ...

如何实现用C语言输出所有的“水仙花数”?
2. 分析问题:要验证一个三位数是否为“水仙花数”,需要将该数拆分为百位、十位和个位上的数字,计算这三个数字的立方和,如果立方和等于原数,则该数为“水仙花数”。3. 算法设计:由于“水仙花数”仅存在于100到999之间的三位数,因此循环的边界条件为:```c for(n = 100; n < 1000; n+...

C语言:输出100-999中所有水仙花数。
\/\/输出水仙花 voidNarcissusNumber(){for(inti=100;i<1000;i++){ intsum=0;inttemp=i;intrem;for(intj=0;j<3;j++){rem=temp%10;temp\/=10;sum+=rem*rem*rem;}if(sum==i){ printf("%d\\n",i);} } }

急求C语言问题:求100-999之间的水仙花数!用C语言写啊
main(){ int i,j,k,n;printf("水仙花数是:");for (n=100;n<1000;n++){i=1\/100;j=n\/10-i*10;k=n%10;if(n==i*i*i+j*j*j+k*k*k)printf("%4d",n);} } 运行结果:水仙花数是:153 370 371 407

用C语言怎么编程算100到999的水仙花数?
include<stdio.h> void main(){ int i,j,k,n;for(i=1;i<10;i++)for(j=0;j<10;j++)for(k=0;k<10;k++){ n=i*100+j*10+k;if((i*100+j*10+k)==((i*i*i)+(j*j*j)+(k*k*k)))printf("水仙花数为:%d\\n",n);} } ...

C语言编写100到999的水仙花数
水仙花数的定义是这样的:一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。(例如:1^3 + 5^3+ 3^3 = 153)这种方法和解一元三次方程一样,套进去很好理解 a=sum\/100 是计算百位的数字 ,如553 ,a=553\/100=5;b=sum\/10-a*10; 是计算十位的数字,如553 ,...

c语言中,如何输出所有的水仙花数
在C语言中,输出所有的水仙花数的步骤如下:1. 确定水仙花数的定义:水仙花数,也就是三位自幂数,指的是一个三位数,它的每个位上的数字的立方和等于它本身。2. 编写判断水仙花数的函数:这个函数需要提取输入数值的个位、十位和百位数字,计算它们的立方和,并与原数值比较以确定是否为水仙花数。3....

用Python输出100到999之间的水仙花数?
水仙花数是指一个n位数(n≥3)的各位数字的n次方之和等于该数本身。例如,153就是一个水仙花数,因为它满足$1^3+5^3+3^3=153$。为了找出100到999之间的所有水仙花数,我们可以编写一个Python程序来实现这个逻辑。下面是一个简单的示例程序:```python 遍历100到999之间的每个数 for num in ...

用c语言编写程序,打印一百到一千之间的所有水仙花数
1. 程序分析:我们需要使用for循环来遍历100到999之间的所有三位数。对于每个数,我们将计算其百位、十位和个位数字,并检查这些数字的立方和是否等于原数。2. 程序源代码:```c include int main() { int i, j, k, n;printf("水仙花数为:");for (n = 100; n < 1000; n++) { i =...

相似回答