统计1—n范围内各位数字之和能被15整除的整数个数

#include<stdio.h>
int main(void)
{int i,n,a,s,b,c;
scanf("%d",&n);
for(i=1;i<=n;i++){

do{
a=i%10;
s=s+a;
b=i/10;
if(b>=10){
i=b;
}
else{s=s+b; }

  }while(b>=10);

if(s%15==0)
c++;

}
printf("%d",c);
return 0;

}
为什么输入之后回车没结果,死循环

s你要初始化为0

#include <stdio.h>
int main()
{
    int n,i,t,s,c=0;
    scanf("%d",&n);
    for(i=1;i<=n;i++)
    {
        s = 0 ;
        t = i;
        while(t>0)
        {
            s += t%10;
            t = t/10;
        }
        if(t%15==0)
          c++;
    }
    printf("%d",c);
    return 0;
}