不懂for循环里面的内容(尤其是while里面的
k*=m%10;
s+= m%10;
)
#include<stdio.h>
int main()
{int n,k=1;
int s=0,m ;
for(n=1;n<=100;n++)
{
k=1;s=0;m=n ;
while(m)
{
k*=m%10;
s+= m%10;
m/=10 ;
}
if(k>s) printf("%d\n",n);
}
return 0;
}
m%10是取数值的个位数
k和s分别乘以和加上m的个位数
m/=10是m除以10取整,就是去掉个位数,并且十位变成个位。
下次循环再次k和s分别乘以和加上m的个位数。
直到m为0就不再循环了。
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps: 问答会员【8折】购 ,仅需→¥23.2,即可享受5次/月 有问必答服务,了解详情>>>https://t.csdnimg.cn/RW5m