求助c语言回文数问题~~~

图片说明
图片说明

 #include<stdio.h>
int main()
{
    int i,t=0,s=0;
    for(i=1000;i<10000;i++,s=0,t=0){
        t=i;
        while(t){
            s=s*10+t%10;
            t/=10;
        }
        if(s==i) printf("%d",i);
    }
    return 0;
} 

结果是0分......
请问哪里错了

每个输出是不是需要一个换行呢?

 #include<stdio.h>
int main()
{
    int i,t=0,s=0;
    for(i=1000;i<10000;i++,s=0,t=0){
        t=i;
        while(t){
            s=s*10+t%10;
            t/=10;
        }
        if(s==i) printf("%d\n",i);
    }
    return 0;
} 

请问这个是哪个网站?

这是你程序的输出:估计这么一大串评分系统没法识别了
10011111122113311441155116611771188119912002211222222332244225522662277228822992
30033113322333333443355336633773388339934004411442244334444445544664477448844994
50055115522553355445555556655775588559956006611662266336644665566666677668866996
70077117722773377447755776677777788779978008811882288338844885588668877888888998
9009911992299339944995599669977998899999

s每次都需要初始化的

算法复杂度太高了,也就20个,千位和个位取1-9,百位和十位取0-9即可。

输出需要换行——\n。
这个题其实两个for穷举就可以了。
#include

int main()

{

int i,j;

for(i=1; i<=9; i++)

for(j=0; j<=9; j++)

printf("%d%d%d%d\n",i,j,j,i);

return 0;

}