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);
}
}