水仙花数,循环不起来,求教。
#include<stdio.h>int main ()
{
int m,n,t,p,s=0;
printf("请输入两个在1到1000之间的数:");
scanf("%d %d",&m,&n);
for(t=m;t<=n;t++)
{ p=t;
while(t>0)
{
n=t%10;
t=t/10;
s=s+n*n*n;
}
if(s==p)
printf("%d",s);
}
return 0;
}
不知道错误在哪里,循环不起来。 啥叫循环不起来? int m, n, t, p, s = 0,k;
printf("请输入两个在1到1000之间的数:");
scanf_s("%d %d", &m, &n);
for (t = m; t <= n; t++)
{
p = t;
while (p > 0)
{
k = p % 10;
p = p / 10;
s = s + k*k*k;
}
if (s == t)
printf("%d ", s);
s = 0;
}
你这个程序写的有点乱啊,大概改了改,改对了,我在给你写个新的 #include "stdafx.h"
int _tmain(int argc, _TCHAR* argv[])
{
int nNum1, nNum2;
int sum = 0;
printf("输入1-1000间的两个数:");
scanf_s("%d%d", &nNum1, &nNum2);
for (int i = nNum1; i < nNum2; i++)
{
int j = i;
for (; j>0; j = j / 10)
sum = sum + (j % 10)*(j % 10)*(j % 10);
if (sum == i)
printf("水仙花数:%d ", i);
sum = 0;
}
printf("\n");
return 0;
}
页:
[1]