for(k=m;k<=n;k++)
{
while(k!=0)
{
a[i]=k%10;
k=k/10;
i++;
}
total=i;
for(i=0;i{
if(a[i]==4||a[i]==7)
y++;
else if(a[i]==3||a[i]==6)
x++;
}
}
这段代码有问题,只要执行一次while(k!=0)之后,k的值就被改变成0了,k++成为1,可以说是一直满足k<=n,所以一直在循环,你可以在for()循环里面加一个临时变量int temp=k,就可以了
这一步错了:
while(k!=0)
{
a[i]=k%10;
k=k/10;
i++;
}
别忘了k在m,n之间循环,不能在这里修改的
设t=k,对t操作就行了