关于c语言中一个水仙数的有关问题 在vc++6.0编译链接都没错 就是没有结果 求解
关于c语言中一个水仙数的问题 在vc++6.0编译链接都没错 就是没有结果 求解
#include <stdio.h>
int main(void)
{
int m, n = 0, k, sum;
for (k = 100; k < 1000; ++k)
{m = k;
do
{
sum = m % 10;
n = n + sum * sum * sum;
m = m / 10;
} while (m);
if( k == n)
printf("%d\n", k );
}
return 0;
}
------解决方案--------------------
需要每次使用n之前对n进行初始化。
------解决方案--------------------
这个问题我刚刚解决,n的初始化位置不对。
------解决方案--------------------
#include <stdio.h>
int main(void)
{
int m, n = 0, k, sum;
for (k = 100; k < 1000; ++k)
{m = k;
do
{
sum = m % 10;
n = n + sum * sum * sum;
m = m / 10;
} while (m);
if( k == n)
printf("%d\n", k );
}
return 0;
}
------解决方案--------------------
需要每次使用n之前对n进行初始化。
------解决方案--------------------
这个问题我刚刚解决,n的初始化位置不对。
------解决方案--------------------
- C/C++ code
#include <stdio.h> int main(void) { int m, n = 0, k, sum; for (k = 100; k < 1000; ++k) { m = k; do { sum = m % 10; n = n + sum * sum * sum; m = m / 10; } while (m); if( k == n) printf("%d\n", k ); n=0; //在这里把n重新初始化就好啦 } return 0; }