水仙花数2位数问题!

为什么这个代码运行结果不是每行两个水仙花数字



#include <stdio.h>
int main()
{
    int a,b,c,i;
    int cnt=0;
    for(i=100;i<1000;i++)
    {
        a=i/100;
        b=i%100/10;;
        c=i%10;
        if(i==a*a*a+b*b*b+c*c*c)
        printf("%5d",i);
        cnt++; 
        if(cnt%2==0)
        printf("\n");
    
        
    }
    
    return 0;
}


#include <stdio.h>
int main()
{
    int a, b, c, i;
    int cnt = 0;
    for (i = 100; i < 1000; i++)
    {
        a = i / 100;
        b = i % 100 / 10;
        c = i % 10;
        if (i == a * a * a + b * b * b + c * c * c)
        {
            printf("%5d", i);
            cnt++;
        }
        if (cnt == 2)
        {
            cnt = 0;
            printf("\n");
        }
    }
    return 0;
}

你b求错了, 应该是: a = i / 100(表示百位); b = i / 10 % 10(表示十位) c = i % 10(表示个位)
有用请采纳

printf里面是%d吧