#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;
}