题目描述
定义一个函数,判断数x是否为回文数,如果是则返回1,否则返回0。在主函数中调用该函数,求1~n的回文数的个数。(n从键盘输入)
输入
每行输入一个正整数n。(1<=n<=100000)
输出
对应输入,每行输出一个结果:即1-n中回文数的个数。
样例输入
9
44
55
样例输出
9
13
14
为什么只能输入一行呢
追答要输入多个的?那我改下就好。
#include
using namespace std;
int judge(int n){
int a[15]={0};
int b[15]={0};
int z=0;
while(n!=0)
{
z++;
a[z]=n%10;
n/=10;
}
for(int i=1;i>n){
int sum=0;
for(int i=1;i<=n;i++)
sum+=judge(i);
cout<<sum<<endl;
}
return 0;
}
有什么问题都可以问
啊偶 好像只能总c不能用c++ 我们还没学
追答....用c而已。。。改下输入输出就好了。。。下次麻烦先在题目里说下用什么语言。
#include
int judge(int n){
int a[15]={0};
int b[15]={0};
int z=0;
while(n!=0)
{
z++;
a[z]=n%10;
n/=10;
}
for(int i=1;i<=z;i++)
{
b[i]=a[z-i+1];
if(a[i]!=b[i])
return 0;
}
return 1;
}
int main(){
int n;
while(scanf("%d",&n)){
int sum=0;
for(int i=1;i<=n;i++)
sum+=judge(i);
printf("%d\n",sum);
}
return 0;
}
不过我看到过
现在不知道做了