100到1000的所有水仙花数
#include<stdio.h>#include<stdlib.h>
main()
{
int i,sum=0,temp=0;
for (i = 100; i < 1000; i++)
{
int init = i;
while (i!=0)
{
temp = i % 10;
sum += temp * temp * temp;
i = i / 10;
}
if (init ==sum)
{
printf("%d\n", init);
}
}
system("pause");
return 0;
}
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int i , j , sum ;
for(i = 100 ; i < 1000 ; i ++) {
for(sum = 0 , j = i ; j ; j /= 10) {
sum = sum + (j % 10) * (j % 10) * (j % 10) ;
}
if(sum == i) printf("%d\n" , i) ;
}
system("pause");
} jackz007 发表于 2020-12-29 15:32
您好 能帮我看一下 我这个代码 什么问题吗 编译没有问题 就是打印结果不对啊
666666 本帖最后由 jackz007 于 2020-12-29 16:28 编辑
定义喜剧 发表于 2020-12-29 16:13
您好 能帮我看一下 我这个代码 什么问题吗 编译没有问题 就是打印结果不对啊
for (i = 100; i < 1000; i++)
. . . . . .
while (i!=0)
. . . . . .
i = i / 10;
循环变量 i 在 while 循环中被意外修改,导致每次 while 循环过后 i 的值都是 0,从而 for 循环变为死循环, while 的循环变量避开 i 试试看。 jackz007 发表于 2020-12-29 16:26
for (i = 100; i < 1000; i++)
. . . . . .
while (i!=0)
谢谢了
页:
[1]