我觉得对于初学者来说难点在于如何把数字一位位地取出来。
一种比较通用的方法是将它对10取模,然后除以十(相当于舍去个位,原来的十位成为新的个位,以此类推)。
由于不清楚数字的位数,使用 while 循环的同时利用 C++ 非 即为真的特性判断是否取完即可。
#include<stdio.h>
int a,b,c;
int main(){
scanf("%d%d",&a,&b);
for(int i=a;i<=b;i++){
int tmp=i,s=0;
while(tmp){
s+=tmp%10;
tmp/=10;
}
if(s%5==0) c++;
}
printf("%d",c);
}