请求大家帮我看看哪里错了

img


左边是我的代码,我觉得挺对的,而且也试了例子里的输入输出,但是是0分

img

题主的代码错误较多,修改完善如下,供参考对照:

#include <stdio.h>
int main()
{
    int T, t, a, b, i, k, s;
    scanf("%d", &T);
    while (T--) {
        scanf("%d %d", &a, &b);
        if (a < 100 || b < a || b > 1000)
            printf("-1");
        else {
            for (i = a, t = 0; i < b; i++) {
                k = i; s = 0;
                while (k) {
                    s += (k % 10) * (k % 10) * (k % 10);
                    k /= 10;
                }
                if (s == i)
                    printf(t++ == 0 ? "%d" : " %d", i);
            }
            if (!t)
                printf("-1");
        }
        if (T)
            printf("\n");
    }
    return 0;
}

第一 输入方式不对了。输入多组后再输出
第二 你这种判断方式是只能输出一个结果 比如你输入100 999看下结果 改成循环找