当前位置:首页 » 编程语言 » c语言回文数编写五位数
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言回文数编写五位数

发布时间: 2022-05-11 16:59:23

1. 输入一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。

给楼主提个思路,先把这个数字的反转,然后比较,如果相等则是回文数,否则不是,比如12345反转为54321,两者不相等,不是回文数,
程序:
#include<stdio.h>

int main()
{
int Ishuiwen(int a);

long a=12321;

if (Ishuiwen(a))
{
printf("%d是回文数\n",a);
}
else
printf("%d不是回文\n",a);
}

int Ishuiwen(int a)
{
int b=0,c=a;
while (c)
{
b=b*10+(c%10);
c=c/10;
}
if (a==b)
{
return 1;
}
else
return 0;
}

2. c语言:判断输入的整数是否是五位数,如果是,判断他是否是回文数,如12321是个回文数,即该数的个

#include<stdio.h>
intmain()
{
longintm;
inta,b,c,d,e;//代表个十百千万
printf("pleaseintputanumber: ");
scanf("%d",&m);
if(9999<m<1000000)
{
a=m/10000;//万位
b=m%10000/1000;//千位
c=m%10000%1000/100;//百位
d=m%10000%1000%100/10;//十位
e=m%10000%1000%100%10;//个位

}
elseprintf("你输入的数不是五位数 ");
if(a==e&&b==d)
printf("%d为回文 ",m);
return0;
}

3. 输入一个5位数 判断它是不是回文数 C语言编写

1. 2.5 输入一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同

注:主要考察两个知识点:1)整除与求余运算;2)if条件的嵌套使用

代码实现:

#include <stdio.h>

void main()

{

int x; //带输入的数

int g,w,s,q; //分别表示的是个位、万位、十位、千位

printf("请输入一个5位数:");

scanf("%d",&x);

2. //判断输入的是不是一个5位数

if(x>99999 || x<10000)

printf("您输入的x=%d不是一个5位数 ",x);

else

{

g = x%10;

w = x/10000;

s = (x%100)/10;

q = (x%10000)/1000;

if(g==w && s==q)

printf("x=%d是一个回文数 ",x);

else

printf("x=%d不是一个回文数 ",x);

}

}

程序结果演示:

4. C语言程序改错。如果要实现这个程序,任意输入一个五位数,输出反序列数,如果是回文数显示回文

if(m==nx)
{
cout<<"并且因为原始数=反序数所以该数是一个回文数"<<endl;
}
应该为 m==nx 因为上面的运算已经将n值变换了所以 m不可能等于n!
望采纳!

5. C语言怎么编写一个程序输出所有5位数字的回文(急需用)

#include<stdio.h>void main( )
{
long ge,shi,qian,wan,x;
scanf("%ld",&x);
wan=x/10000;
qian=x%10000/1000;
shi=x%100/10;
ge=x%10;
if(ge==wan&&shi==qian)/*个位等于万位并且十位等于千位*/
printf("this number is a huiwen\n");
else
printf("this number is not a huiwen\n");
}

6. 求解用c语言中的for循环编写出所有五位数中的回文数,谢谢!

假设5位数是ijkji,每个字母代表一位数字
用i计数最高和最低位,由于要保证是5位数,i的取值只能是1~9之间,j和k取值都是0~9之间。
#include<stdio.h>
void main()
{ int i,j,k;
for ( i=1;i<10;i++ )
for ( j=0;j<10;j++ )
for ( k=0;k<10;k++ )
printf("%d%d%d%d%d,",i,j,k,j,i);
printf("\n");
}

7. 用c语言编写一个程序输出所有5位数字的回文,怎么做啊

#include <stdio.h>void main()
{
int i,j,n,m;

for(n=10000;n<100000;n++)
{
m=n;
j=0;
while(m)
{
i=m%10;
j=j*10+i;
m=m/10;
}

if(j==n)
printf("%d\t",n);
}
} 五位数的回文数一大堆.. 你自己运行输出看看. 我就不贴图了..

8. 用c语言写回文数,怎么写啊/急求!!

/编写一个回文数的程序c语言编程
#include <stdio.h>
void main()
{
int n, m=0, count=0;
printf("请输入一个数:\n");
scanf("%d", &n);
for(n=1; n<=10000; n++)
{
while(n>0)
{
m=m*10+n%10;
n=n/10;
}
if(m==n)
{
count++;
printf("%3d", n);
}
if(count%5==0)
printf("\n");
}

}
我写的是找出1到10000的回文数,不过是在没有vc++坏境下写的,代码还美调试,自己运行一下看看。

9. 一个5位数,用c语言来判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同

简单的很,既然是回文,就先把数字转成字符串,指针p,q指向两头,
随便一个数都行
#include <iostream>
#include <string.h>
#include <stdlib.h>
using namespace std;

int main()
{
int num;
cout<<"input a num:"<<endl;
cin>>num;
char numstr[128]={0};
itoa(num,numstr,10);
char* p=numstr,*q=numstr+strlen(numstr)-1;
bool flag =true;
while(p<q)
if(*p++!=*q-- ){
flag=false;
break;
}
cout<<"it is "<<boolalpha <<flag<<endl;
return 0;
}

10. 一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。C语言编程

既然写了
那就写个通用一点的
给你一个可以随意判断各种位数的数是否为回文数的程序,
当然前提是输入不会超过int类型的表示范围哟
可能不是最好的算法
希望能够抛砖引玉
#include<stdio.h>
#include<math.h>
int
main()
{
int
number
=
0;
int
t
=
0;
/*保存number的位数*/
int
temp
=
0;
/*临时保存number的值*/
int
i;
/*循环变量*/
int
base;
/*临时变量*/
int
s;
/*临时变量*/
printf("请输入一个整数:
");
scanf("%d",
&number);
/*先求出输入整数的位数,一边控制后面的循环的次数*/
temp
=
number;
while(
temp
)
{
t++;
temp
/=
10;
}
temp
=
number;
/*循环对输入整数的各位进行首尾比较,
当确定为5位数时不需要前面的求位数部分,以及应该把t的值设为5*/
for(
i
=
0;
i
<
t;
i=i+2
)
/*这里因为每次都要比较首尾两位,所以循环变量应该加2*/
{
base
=
(int)pow(10,
t-i-1);
/*用base保存与temp位数相同的最小数,比如10,100,1000等*/
s
=
temp
/
base;
/*求temp的最高位的值*/
if(
(
temp
%
10
)
!=
s
)
/*比较s的值是否跟temp的最低位相等,如果不相等则立即停止循环,如果相等则继续循环比较其他位*/
{
break;
}
temp
-=
s
*
base;
/*去掉temp的最高位,因为前面已经比较过了*/
temp
/=
10;
/*去掉temp的最低位,因为前面已经比较过了*/
}
if(
temp
)
/*如果temp不为0,说明提前跳出了循环,因此不是回文数*/
{
printf("%d不是回文数\n",
number);
}
else
{
printf("%d是回文数\n",
number);
}
}