求数码平方和,为什么错了?
#include <stdio.h>
int main()
{
int k,a,b,n,i,j,m,x,t=0,p=0;
while (scanf("%d",&k))
{
for (i=0;i<k;i++)
{
scanf("%d%d%d",&a,&b,&n); for (j=a;j<=b;j++)
{
x=j;
while (x!=0)
{
m=x%10;
x=x/10;
t=t+m*m;
}
t=t%10;
if (t==n)
{
p=p+1;
}
}
printf("%d",p);
}
}
return 0;
}
1回答
-
越飞越高
//(return 0;)的位置错了,使得该循环变成死循环#include <stdio.h> int main() { int k,a,b,n,i,j,m,x,t=0,p=0; while (scanf("%d",&k)) { for (i=0;i<k;i++) { scanf("%d%d%d",&a,&b,&n); for (j=a;j<=b;j++) { x=j; while (x!=0) { m=x%10; x=x/10; t=t+m*m; } t=t%10; if (t==n) { p=p+1; } } printf("%d",p); return 0; } }}