c++ 回文数程序

我知道程序答案,所以不要说答案,我就想知道我写的怎么不对,因为自学没多久,弄不太懂。下面是我的程序:
#include<iostream>
using namespace std;
int main()
{
int m,n,a;
for(m=11;m<=999;m++)
{a=m;
n=0;
while(m)
{
n=n*10+m%10;
m=m/10;
}
if (n==a)
cout<<a<<endl;
}
}

第1个回答  2012-10-29
for 循环里面,是m 在变,那么你下面就不要对m 进行修改。

可以用a=m 获得m的值,对a 进行修改。本回答被网友采纳
第2个回答  2012-10-28
因为每次循环你都把m变成0了追问

然后呢?每次变为0,我输出a啊

追答

然后m++,m变成1.
下一次循环m又变成0,然后1。。。
死循环了

本回答被提问者采纳

用C++,如何判断某个数是不是回文数?
1、打开Visual Studio软件,准备好一个新的空白cpp文件,用于稍后编写代码:2、这里定义一个名为palindrome的函数,用来处理判断回文的过程,判断的大致思路就是将一个数反着排列一遍,如果和原先的数一样,那么就是回文数,排列过程用到了余数和整除:3、最后保存一下文件,按住crtl+F5运行程序查看结果,...

用C++编写程序求10~2000之间所有的回文数,判断一个数是否为回文数。要...
printf("Here we reached the aim at last.\\n");\/\/输出最好得到的回文数 }

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++程序,判断一个数是否为回文数
cout<<"是回文数"<<endl;else cout<<"不是回文数"<<endl;return 0;}

c++问题,回文数和方程式求解 急.1小时内进来有追分
\/\/回文数程序 include <stdio.h> int palindromeyesno(int n){\/*判断一个数是否为回文数*\/ int backn=n;int temp=0;while(backn!=0){ temp*=10;temp+=backn%10;backn\/=10;} return (temp==n?1:0);} void main(){ int i = 1981;int j = 3000;int p = i;int count = 0...

c++编程 求回文数
int m, revn = 0;int k = n;while(k){ m = k % 10;revn = revn * 10 + m;k \/= 10;} if(n == revn)return n;} int main(){ int n;for ( n = 1000; n < 10000; n++)cout << huiwen(n) << endl;return 0;} 你思路大体对 但是错误比较多 对照下我写的 主要...

C++从键盘输入一个正整数,如何判断是否为回文数?
输入以下程序即可判断:int len=strlen(s)-1,i;bool judge=true;for(i=0;iif(s[i]!=s[len-i]){ judge=false;break;} 1、“回文”是指正读反读都能读通的句子,它是古今中外都有的一种修辞方式和文字游戏,如“我为人人,人人为我”等。在数学中也有这样一类数字有这样的特征,成为回文数(...

c语言c++编写程序找到三位数中所有的回文数
int a = ? ;if(a < 100)continue ;\/\/不行 if(a > 999)continue ;\/\/不行 \/\/通过某个函数,将数字转换成字符串,比如 sprintf, itoa,itow 假设得到的字符串 char* ptr ;if(ptr[0] == ptr[2]){ \/\/OK 这个就是想要的。} 整个代码,放进循环就可以了。

C++ 输出20-2000所范围内有的回文数
intmain(){intpalindrome=0,reverse=0;intnum=0,key=0,i=0,j=0,count=0;cout<<""<<endl;for(j=10;j<=2000;j++){ reverse=0;key=j;palindrome=j;for(i=1;palindrome!=0;i++){ num=palindrome%10;palindrome=palindrome\/10;reverse=num+(reverse*10);...

求C++程序:输出1000-2000中的回文数
恩,楼上的答案都很不错,其中二楼 wals3310100的答案是目前求回文数的最佳方法,下面我再给出另外的一种考虑方法:include <iostream> int main(){ int a[4],i,j;std::cout<<"1000~9999之间的对称数为"<<std::endl ;for(i=1000;i<10000;i++){ a[0]=i%10;j=i\/10;a[1]=j%10;j...

相似回答
大家正在搜