水仙花问题
为何我这样写不行的:
#include<stdio.h>
#include<math.h>
void main()
{
int a,b,n,s;
for(n=100;n<1000;n++)
{
b=0;s=n;
while(n!=0)
{
a=n%10;
b+=a*a*a;
n=n/10;
}
if(s==b)
printf("%d ",s);
}
}
[解决办法]
你要输出什么形状,你在for循环中修改了n,导致死循环。
[解决办法]
if(n==b)
printf("%d ",s);
这里你是应该输出n或b,而不是s。S总是0!!
[解决办法]
for循环里应该修改的是 s
[解决办法]
- C/C++ code
#include<stdio.h>void main(){ int a,b,n,s; for(n=100;n<1000;n++) { b=0;s=n; while(s!=0) { a=s%10; b+=a*a*a; s=s/10; } if(n==b) printf("%d ",n); } printf("\n");}