求助
编写程序,输出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字立方和等于该数本身。例如,153是一水仙花数,因为153=13+53+33。#include <stdio.h>
void main( )
{ ; /*定义4个整型变量; */
for( j=100; j<=999; j++ )
{a=j/100; /*分离出百位数*/
b=j/10-a*10; /*分离出十位数*/
c=___________; /*分离出个位数*/
if(j==a*a*a+b*b*b+c*c*c)
; /*输出j*/
}
printf("\n");
} 编程输出水仙花数
要输出所有的水仙花数,我们可以编写以下的程序:
#include <stdio.h>
void main() {
int j, a, b, c; /*定义4个整型变量*/
for (j = 100; j <= 999; j++) {
a = j / 100; /*分离出百位数*/
b = j / 10 - a * 10; /*分离出十位数*/
c = j % 10; /*分离出个位数*/
if (j == a * a * a + b * b * b + c * c * c) {
printf("%d ", j); /*输出j*/
}
}
printf("\n");
}
这段程序会遍历所有的三位数,将其分禨出百位、十位和个位,然后判断是否满足水仙花数的条件,如果满足,则将该数输出。最终会输出所有的水仙花数。
球一个最佳答案谢谢啦!这对我非常重要!{:10_254:}{:10_254:}{:10_254:} 修改代码中的空白处,将c的值分离出个位数的代码补充进去即可。
修改后的代码如下:
#include <stdio.h>
void main( )
{
int j, a, b, c; /*定义4个整型变量; */
for( j=100; j<=999; j++ )
{
a = j / 100; /*分离出百位数*/
b = j / 10 - a * 10; /*分离出十位数*/
c = j % 10; /*分离出个位数*/
if(j == a*a*a + b*b*b + c*c*c)
{
printf("%d\n", j); /*输出j*/
}
}
printf("\n");
}
这段代码会输出所有的水仙花数,即满足各位数字立方和等于该数本身的三位数。
页:
[1]