判断回文数(C++) 输入:一个串数n。 输出:如果是回文数输出“YES”,否则输出“NO”。 请修改一下代码

我的代码:
  #include<iostream>
using namespace std;
int main(){
int n,i,s=0,a,b,c,d=0,e;
cin>>n;
a=n;
e=n;
while(a!=0)
{a=a/10;
s++;}
for(i=1;i<=s;i++)
{a=e%10;
b=i+s-i;
while(b!=0)
{c=a;
c=c*10;
b--;}
d=d+c;
e=e/10;
}
if(d==n)
cout<<"YES";
else cout<<"NO";
system ("pause");
return 0;
}
不知哪儿有错,求解。
尽量改的通俗易懂,我还是小学生。
记得把修改或补充的地方,写上注释,原因,谢谢。

第1个回答  2014-11-18
你好!首先我需要告诉你的是,你的代码由于缺少空格和换行,会让帮你看代码的人很痛苦的,下次在网上让人帮你看代码的时候,最好还是用制表符或者空格把代码写成我发的这样……(制表符就是在键盘的左上角Esc下面两个的Tab)然后是最重要的,你的这份代码错误挺多的,虽然改正确没什么问题,但是我没有自信通过简单的注释跟你解释清楚……我是很支持学编程的,因为我就是学这个专业的。如果想找我的话,最好加我QQ:578827362,我可以慢慢跟你讲……

#include<iostream>
using namespace std;
int main()
{
int n,i,s=0,a,b,c,d=0,e;
cin>>n;
a=n;
e=n;
while(a!=0)
{
a=a/10;
s++;
}
for(i=1;i<=s;i++)
{
a=e%10;
b=i+s-i;
while(b!=0)
{
c=a;
c=c*10;
b--;
}
d=d+c;
e=e/10;
}
if(d==n)
cout<<"YES";
else
cout<<"NO";
system ("pause");
return 0;
}
下次记得把代码写成这样再拿给人看哦~本回答被提问者和网友采纳

判断回文数(C++) 输入:一个串数n。 输出:如果是回文数输出“YES”,否 ...
} if(d==n)cout<<"YES";else cout<<"NO";system ("pause");return 0;} 下次记得把代码写成这样再拿给人看哦~

C++语言 输入一个正整数,判断它是否是回文数
int main(){ int num,k,n=0;printf("请输入一个数:");scanf("%d",&num);k=num;while(k>0){ n=n*10+k%10;k=k/10;} if(n==num)printf("%d是回文数",n);else printf("No!它不是回文数!");return0;} 运行效果:...

c++:编一函数int f(int n),功能为判断一个整数n是否为回文数
\/\/参考代码如下:#include <stdio.h>int f(int n)\/\/判断是否是回文数,是返回1,否则返回0{int t=0,m=n;while(m)\/\/如果m不等于0,执行下面循环,否则跳出循环 (求这个数各位上数字反向排列的数 ) {t*=10;t+=m%10;m\/=10;}return t==n;\/\/如果这个数各位数字反向排列所得数依然等...

C++判定回文数
参数:iData -- 需要判断的数 返回值:true -- 是回文数; false -- 不是回文数*\/ bool IsStrReverse(int iData){ \/* 取绝对值*\/ iData > 0 ? iData : - iData;\/* 把iData各位输出到buf中*\/ char buf[100];sprintf(buf, "%d", iData);int nCount = strlen(buf);\/* 如果不能用s...

c++ 判断一个字符串是否是回文 程序怎么写
所以要写一个判断字符串是否回文的函数要先算出字符串S的字符数n,然后把S[0]和S[n-1-0]比较,S[1]和S[n-1-1]比较,S[2]和S[n-1-2]比较,……,直到把S[n\/2]和S[n-1-n\/2]比较,只要发现一个不同就可以判断不是回文,否则就是回文。这里要特别说明两点:一是为什么S[0]要和...

判断回文数。输入1个三位正整数A,如果这个数的百位和个位数相等,输出...
把这个正整数转化为字符串然后截取第一第二位比较也行,转成字符数组再比较也行

用C++,如何判断某个数是不是回文数?
用来处理判断回文的过程,判断的大致思路就是将一个数反着排列一遍,如果和原先的数一样,那么就是回文数,排列过程用到了余数和整除:3、最后保存一下文件,按住crtl+F5运行程序查看结果,软件会弹出命令行窗口,1000到10000的所有回文结果就显示在里面了。以上就是用C++求回文数的解决过程:...

c++判断任意区间回文素数个数怎么实现?
基于算出的结果,我们可以判断是否为回文数。首先将数逐位放入数组中,用一个循环判断是否为回文数。代码如下:bool isPal(int i) \/\/ 判断传入的数i是否是回文数 { int temp[20];int top = 0;while (i){ temp[top++] = i % 10;i \/= 10;} for (int i = 0; (i << 1) < top...

用c++写一个程序判断一个数是不是回文数
f=1; printf("%d 不是回文!!!\\n",x); break;} } if(f==0)printf("%d 是回文 !\\n",x);} separate(int *data,int n){ int j,k,t;y=0;while(n!=0){ (data+y)=n%10; n=n\/10; y++;} (data+y)='\\0';for(j=0,k=y-1; j<=k; j++,k--){ t=*(data+j);...

C++:定义函数int f(int x)判断x是否为回文数,若是则函数返回1,否则返回...
解答过程如下:void f(int x){int a=0,b,m=x;while (x){b=x%10;a=a*10+b;x=x\/10;}if (a==m) return 1;else return 0;} 工作原理:C++语言的程序因为要体现高性能,所以都是编译型的。但其开发环境,为了方便测试,将调试环境做成解释型的。即开发过程中,以解释型的逐条语句执行...

相似回答