C++程序,判断一个数是否为回文数

作者&投稿:大季影 (若有异议请与网页底部的电邮联系)
C++:编写一个程序,判断一个整数是否为回文数~

#include using namespace std;bool isPlindrome(int n){int a[20]={0};while(n)a[++a[0]]=n%10,n/=10;int l=1,r=a[0];for(;l>x;if(isPlindrome(x))cout<<x<<" 是回文数
";else cout<<x<<" 不是回文数
";}return 0;} 下面是运行结果:

#include
using namespace std;

bool palindrome(char *str)
{
int h=strlen(str);
for(int i=0;i<h/2;i++)
{
if(str[i]!=str[h-i-1])
{
return false;
}
return true;
}

}
int main()
{
char text[180];
cout<<"请输入: ";
cin>>text;
if(palindrome(text))
cout<<"这是一个回文!"<<endl;
else
cout<<"这不是一个回文!"<<endl;
return 0;

}

#include <iostream> 

using namespace std; 

int main(){    

int m;//待输入的数    

int i=0,j=0;    

int array[10];//将每个数分解    

cout<<"请输入一个数"<<endl;    

cin>>m;    

while(m)    

{        

array[i++]=m%10;        

m/=10;    

}    

i--;//while中的多自加了一个    

while(i>j)    

{        

if(array[j++]!=array[i--])//首位递增,末位递减,直到首位不再小于末位            

break;    

}     

if(j>i)        

cout<<"是回文数"<<endl;    

else        

cout<<"不是回文数"<<endl;     

return 0;

}

扩展资料

判断语句:

1、if...else if...else语句

  格式:
if(条件1)
{
语句1 ;
}
else if(条件2)
{
语句2 ;
}
else
{
语句N;
}

解释:如果条件1成立,则执行语句1,如果条件1不满足则判断条件2是否成立,如果成立则执行条件2,如果不成立则执行条件N。

2、if中嵌套if
格式:
if(条件1)
{
if(条件2)
{
语句2;
}
else
{
语句3;
}
}
else
{
语句N;
}

解释:如果条件1不成立,则执行语句N,如果条件1满足则进入到第一个if中,然后判断条件2,如果成立执行语句2,否则执行语句3。



回文数是一种正读和反读都为同一个数的自然数,设n是一任意自然数。若将n的各位数字反向排列所得自然数n1与n相等,则称n为一回文数。

要用C++判断,需要判断自然数的每一位,程序如下:

#include <iostream>

using namespace std;

int main()

{

    int m;//m为待输入的数

    int i=0,j=0;

    int array[10];//将每个数分解

    cout<<"请输入一个数"<<endl;//窗口提示

    cin>>m;

    while(m)

    {

        array[i++]=m%10;

        m/=10;

    }

    i--;//while中的多自加了一个

    while(i>j)

    {

        if(array[j++]!=array[i--])//首位递增,末位递减,直到首位不再小于末位

            break;

    }

    if(j>i)

        cout<<"是回文数"<<endl;//判断结果

    else

        cout<<"不是回文数"<<endl;

    return 0;

}

扩展资料:

C++的语言特点:

1、支持数据封装和数据隐藏

在C++中,类是支持数据封装的工具,对象则是数据封装的实现。C++通过建立用户定义类支持数据封装和数据隐藏。

完好定义的类一旦建立,就可看成完全封装的实体,可以作为一个整体单元使用。类的实际内部工作隐藏起来,使用完好定义的类的用户不需要知道类是如何工作的,只要知道如何使用它即可。

2、支持继承和重用

在C++现有类的基础上可以声明新类型,这就是继承和重用的思想。通过继承和重用可以更有效地组织程序结构,明确类间关系,并且充分利用已有的类来完成更复杂、深入的开发。

3、支持多态性

采用多态性为每个类指定表现行为。多态性形成由父类和它们的子类组成的一个树型结构。在这个树中的每个子类可以接收一个或多个具有相同名字的消息。

当一个消息被这个树中一个类的一个对象接收时,这个对象动态地决定给予子类对象的消息的某种用法。

参考资料来源:

百度百科-C++

百度百科-回文数



说明:本人在学C语言,看到您的问题,不知道什么是“回文数”,随百度,接着就有源码了,先把您的问题回答了,接着再研究,
所以以下源码是复制的,还望见谅(参考:“回文数”的百度百科)
-------------------------------------------------分割线--------------------------------------------------

C源码如下:
#include<stdio.h>
intx,y;
separate(int*data,intn)
{
inti,j;
y=0;
while(n!=0)
{
*(data+y)=n%10;n=n/10;y++;
}
*(data+y)='\0';
for(i=0,j=y-1;i<=j;i++,j--)
{
if(*(data+i)==*(data+j)){
printf("%d是回文!!!\n",x);break;
}
else{
printf("%d不是回文!\n",x);break;
}
}
}
voidmain()
{
inta[99];
printf("请输入一个正整数:");
scanf("%d",&x);
separate(a,x);
}
--------------------------------------------------分割线-----------------------------------------------

C++如下:
#include<iostream>
using namespace std;
bool symm(long m)
{
long temp = m,n=0;
while (temp)
{
n = n*10+temp%10;
temp = temp/10;
}
return (m == n);
}
int main(int argc, _TCHAR* argv[])
{
long m;
cout<<"请输入一个整数:";
cin>>m;
cout<<"输入了"<<symm(m)<<"个回文数!";
return 0;
}

#include<iostream>
using namespace std;

int check(int num){//求出你输进的那个数的倒序是多少,如:123,返回的是:321
int sum=0;
while(num>0){
sum=sum*10+num%10;
num/=10; 
}

return sum ; 


int main(){
int num;
cout<<"
Inpout your num:  ";
cin>>num;

if(check(num)==num)
  cout<<"Yes ,it is";
else
  cout<<"NO,sorry";
  
return 0;  
}


#include <iostream>
using namespace std;
int main(){
int n,s,x=0;
cin>>n;
s=n;
while(s>0)
{
x=x*10+s%10;
s=s/10;
}
if(x==n) cout<<"YES!"<<endl;
else cout<<"NO!"<<endl;
return 0;
}


编写程序,任意输入一个字符,根据该字符的ASCII码值判断它是字母、数字...
include int main(){     char c;    c = getchar();    if((c>='a' &&c='A'&&c<='Z')) printf("char\\n");    else if(c>='0' &&c<='9')printf("number\\n");    else printf("other\\n");  ...

C语言 判断一个输入得数子是几位数
判断一个输入得数子是几位数的源代码如下:include<stdio.h>void main(){ void count();printf("请输入一串字符,数字、字母皆可:\\n");count();} void count(){ char c[32];int n=0;while((c[n]=getchar())!='\\n'){ n++;} printf("输入字符总数为:%d\\n",n);printf("反序...

、编写程序,主函数从键盘输入一个整型数n,调用函数ishuiw判断这个数是...
include <stdio.h> include <stdbool.h> bool ishuiwen(int n) { int m = n, reverse = 0;while (m != 0) { int rem = m % 10;reverse = reverse * 10 + rem;m \/= 10;} return n == reverse;} int main() { int n;printf("请输入一个整数: ");scanf("%d", &n);i...

用C++程序语言编写:给定一个整数,判断它能否被3,5,7整除,并输出以下信 ...
include<stdio.h>#include<stdlib.h>int main() {int T,num;printf("T = ");scanf("%d",&T);while(T--) {printf("num = ");scanf("%d",&num);printf("%d : ",num);if(num%3 == 0) printf("%d ",3);if(num%5 == 0) printf("%d ",5);if(num%7 == 0) printf(...

如何快速判断一个程序是否带毒
360 HEUR\/QVM11.1.CC2D.Malware.Gen 360的报毒名是最没用的了~什么有用的信息你也看不出来,其实讲道理,这个样本是我前几天就传了的,我没刷新VT报毒结果之前(详见PS),他是没报毒的...微步在线 魔盾安全分析 腾讯哈勃 等等 再推荐一个好使的软件,可以快速看到文件的各类...

编写程序:输入提一个正整数,判断该数是奇数还是偶数,并输出结果
以上分别是C、Pascal和Basic的程序 void main(){ int a;scanf("%d",&a);if (a%2==0){ printf("偶数");} else { printf("奇数");} } program JO;var a:integer;begin read(a);if a mod 2=0 then writeln('偶数')else writeln('奇数');end.Dim A As Integer Input A If A ...

判断一个数n能否同时被3和5整除。用传统流程图表示问题的算法_百度知 ...
2、判断末位数字是否为0或5 ———末位数字==0或==5?———是,退出yes;否,退出no 或 1、判断是否为15倍数 ———n对15取余 ———余数==0?———是,退出yes;否,退出no 程序:include void main(){ int i,m,k=10,s=0;int a[10];printf("输入一个正整数:");scanf("%d"...

编写一个java应用程序,用户从键盘输入一个整数,判断这个数是几位数...
buffer.append("一个回文串。\\n");buffer.append("---\\n");System.out.println(buffer.toString());} else { System.out.println("退出程序。");} } } } 下面是测试的数据:--- 输入一个数字:123321 您输入的是:123321 共 6 个字符。123321 是全数字。123321 是一个6位的整数。123321...

C语言编程判断输入的一个数是否是5的倍数怎么编写?
C语言编程判断输入的一个数是否是5的倍数,编写方法如下图:C语言的主要特点:简洁紧凑、灵活方便。C语言一共只有40个关键字,9种控制语句,程序书写形式自由,区分大小写。把高级语言的基本结构和语句与低级语言的实用性结合起来。C语言可以像汇编语言一样对位、字节和地址进行操作,而这三者是计算机最...

java如何判断一个字符串中是否包含标点符号(任意标点符号,非特定)?
1、在程序中需要引入hutool的jar包。2、创建一个Sting类型的字符串数字。3、接着创建多个字符串指定查询。4、booleancontains=StrUtil.containsAny(phone,s1);//字符串中是否包含任意一个。5、运行程序查看得到的结果。

宁南县19640434591: 用c++写一个程序判断一个数是否是回文数,急求? -
独治来络: #includeusing namespace std; bool hui(char c[]) { int len,i,j; len=strlen(c); for(i=0,j=len-1;i<=j;i++,j--) if(c[i]!=c[j]) return false; if(i>j) return true; } int main() { char c[2000]; cin>>c; if(hui(c)) cout<<<" 是回文"<

宁南县19640434591: 用c++写一个程序判断一个数是不是回文数 -
独治来络: #include<stdio.h> int x,y; judge(int * data,int len) { int i,j,f=0; for(i=0,j=len-1; i<=j; i++,j--) { if(*(data+i)!=*(data+j)) { 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...

宁南县19640434591: C++:编写一个程序,判断一个整数是否为回文数 -
独治来络: #include <iostream> using namespace std; bool isPlindrome(int n) { int a[20]={0}; while(n) a[++a[0]]=n%10, n/=10; int l=1,r=a[0]; for(;l<r;l++,r--) if(a[l]!=a[r]) return false; return true; } int main() { int x; for(;;) { cout<<"输入一个数:"; cin>>x; if(...

宁南县19640434591: 判断一个数是否为回文数(c++编写这个代码) -
独治来络: #include using namespace std; bool palindrome(char *str) { int h=strlen(str); for(int i=0;i { if(str[i]!=str[h-i-1]) { return false; } return true; } } int main() { char text[180]; cout cin>>text; if(palindrome(text)) cout else cout return 0; }

宁南县19640434591: C++编写一个程序,读入一个整数后,能够判断它是否为回文数. -
独治来络: #include <stdio.h>#include <string.h>#include <stdlib.h> void main() { while(1) { system("cls"); char a[100]={0}; printf("请输入一个字符串:"); scanf("%s",a); for (unsigned int i = 0; i < (strlen(a) / 2);i++) { if (a[i] != a[(strlen(a) -1 - i)]) { ...

宁南县19640434591: 求判断回文数的c++函数 -
独治来络: 所谓回文数,就是反转之后其值不变的数.如12321.算法很简单,把数逆转后和原来的值比较就可以了,程序仅需20行:#include <iostream> using namespace std; bool check(long a) { long b=0,temp=a;//用b保存逆转后的数,temp保存输入的值...

宁南县19640434591: 用C++编写程序求10~2000之间所有的回文数,判断一个数是否为回文数.要用函数fun(int n)来实现. -
独治来络: long re(int a) { long int t; for(t=0;a>0;a/=10)//将整数反序 t=t*10+a%10; return t; } int nonre(lint n)//判断给定的整数是否为回文数 { if(n>10 && n<2000) { if(re(n)==n) return 1;//是返回1 else return 0;//不是返回0 } return 0;//不是返回0 } void main() ...

宁南县19640434591: 有一题c++ 题目.说要编程确定一个任意位数是否为回文数.例如12321,11111,54654等都是回文数.请教一下? -
独治来络: 两种方法,这是求10000以内的回文数 c++的: #include "sstream" #include "algorithm" #include "iostream" #include "string" using namespace std; main() { string A,B; ostringstream O; for(int i=1;i<10001;i++) {O<<i;A=B=O.str(); reverse...

宁南县19640434591: 用c++语言编写程序判断是否为回文数,例如1221,谢谢~务必是c++语言哦 -
独治来络: #include <iostream>#include <string> using namespace std; int main() { string str; int left,right; cin >> str; for(left=0,right=str.size()-1;left < right;left++,right--) if(str[left] != str[right]) break; if(left < right) printf("NO"); else printf("YES"); return 0; }

宁南县19640434591: c++:编一函数int f(int n),功能为判断一个整数n是否为回文数 -
独治来络: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24//参考代码如下: #include <stdio.h> intf(intn)//判断是否是回文数,是返回1,否则返回0 {intt=0,m=n;while(m)//如果m不等于0,执行下面循环,否则跳出循环 (求这个数各位上数...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网