6、下面程序功能为求100—999之间的水仙花数水仙花数是指一个三位数的各位数字的立方和是这个数的本身。例如153=13+53+3。mainint ij k n;printfwater flower number is ;forn=100;【1】;n+ i=【2】;j=【3】;k=【4】;ifi100+j10+k==【5】 printf -5d n; printfn;
下面是修复后的程序:
#include <stdio.h>
int main()
{
int i, j, k, n;
printf("water flower number is: ");
for(n = 100; n <= 999; n++)
{
i = n / 100;
j = (n / 10) % 10;
k = n % 10;
if(i*i*i + j*j*j + k*k*k == n)
printf("%-5d", n);
}
printf("\n");
return 0;
}
修复说明:
- 在for循环的条件中,将
【1】改为n <= 999,以保证循环范围在100到999之间。 - 在计算百位数时,将
【2】改为n / 100,以求得百位数。 - 在计算十位数时,将
【3】改为(n / 10) % 10,以求得十位数。 - 在计算个位数时,将
【4】改为n % 10,以求得个位数。 - 在比较是否为水仙花数时,将
【5】改为n,以判断当前的三位数是否为水仙花数。 - 在输出水仙花数时,将
printf语句中的%-5d改为%d,以正确输出水仙花数。 - 添加
return 0;语句,以表示程序正常结束
原文地址: http://www.cveoy.top/t/topic/h6EM 著作权归作者所有。请勿转载和采集!