C 語言輸入正整數,判斷它是否是迴文數

時間 2021-08-11 17:04:19

1樓:問明

#include<stdio.h>

#include<stdlib.h>

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;

執行效果:

2樓:仙戈雅

#define  _clanuage_

#ifndef  _clanuage_

#define  _clanuage_

#include

#include

#endif

#ifndef  _cpp_

#define  _cpp_

#include

using namespace std;

#endif

/*操作結果: 0-非迴文,1是迴文

*/int hws(int n)

if (sum == n) return 1;

return 0;

}void main(void)

3樓:

辦法很多,下面提供三種思路和實現方法。

(1)將輸入的正整數倒序構成一個新數,若新數與原數相等則是迴文數,否則不是——

#include "stdio.h"

int main(int argc,char *argv)

printf("\n%d:\t",n);

for(m=0,i=n;i;(m*=10)+=i%10,i/=10);

printf(m==n ? "yes.\n" : "no.\n");

return 0;

}(2)將輸入的正整數轉換成字串,檢查前半栽和後半栽倒序對應字元,都相等則是迴文數,否則不是——

#include "stdio.h"

#include "string.h"

#include "stdlib.h"

int main(int argc,char *argv)

printf("\n%d:\t",n);

for(j=strlen(itoa(n,s,10))-1,i=0;i=j ? "yes.\n" : "no.\n");

return 0;

}(3)直接分離最高位與最低位,次高位與次低位……依次比較,都相等時為迴文數,否則不是——

#include "stdio.h"

int main(int argc,char *argv)

printf("\n%d:\t",n);

for(m=1,i=n;i>10;i/=10,m*=10);

for(i=1;i=m ? "yes.\n" : "no.\n");

return 0;}

4樓:

#include

using namespace std;

void main()

length = i;

p1 = inputstring;

p2 = p1 + length - 1;

while (*p1 == *p2)

{p1++;

p2--;

if (p1 >= p2)

{cout << "yes!" <

c++從鍵盤輸入一個正整數,如何判斷是否為迴文數?

5樓:吉吉麻麻麻麻

輸入來以下程式即可判斷:

int len=strlen(s)-1,i;

bool judge=true;

for(i=0;iif(s[i]!=s[len-i])1、「迴文」自是指正讀反讀都能讀通的句子,它是古今中外都有的一種修辭方式和文字遊戲,如「我為人人,人人為我」等。在數學中也有這樣一類數字有這樣的特徵,成為迴文數(palindrome number)。

2、設n是一任意自然數.若將n的各位數字反向排列所得自然數n1與n相等,則稱n為一回文數。例如,若n=1234321,則稱n為一回文數;但若n=1234567,則n不是迴文數。

6樓:匿名使用者

void main()

if(k==i)

cout<<"n是迴文數";

else

cout<<"n不是迴文數";

}剛好老師

版出了這道權題

用c語言編寫程式,輸入一個正整數,判斷是否為迴文數。

7樓:陳什麼楠

#include "stdio.h"

#include "conio.h"

int main(void)

int i,k;

long n,m;

int digit[10];

clrscr();

puts("please input a long number:");

scanf("%ld",&n);

m=n;k=0;

dodigit[k++]=m%10; /**//*儲存最低位*/m/=10; /**//*去掉最低位*/

}while(m!=0);

k--;

for(i=0;iif(digit[i]!=digit[k]) break; /**//*不相等,則不是迴文數,推出迴圈*/

if(ielse printf("%ld is a huiwen number",n);

getch();

return 0;

8樓:匿名使用者

# include

int main(void)

if(sum == val)else

return 0;}

9樓:傳小奇

main()

int n,a,b=0;

printf("please enter a number !\n");

scanf("%d",&n);

printf("the number is %d\n",n);

for(a=n;a>0;)else{

printf("yes!!!");

c++編寫一個程式,讀入一個整數後,能夠判斷它是否為迴文數.

10樓:匿名使用者

#include

#include

#include

void main()

;printf("請輸入一個字串:");

scanf("%s",a);

for (unsigned int i = 0; i < (strlen(a) / 2);i++)

else if (i == strlen(a) / 2 - 1)printf("這個字串是迴文\r\n\r\n");

else

continue;

}system("pause");}}

這是c語言的.你要的c++,只要改一下標頭檔案為#includeusing namespace std;

輸入輸出函式就可以了.

11樓:夢易少年

#include "iostream.h"

#include "string.h"

#define n 20

void main()

您好,很高興為您解答 希望能夠幫助您

如果本題有什麼不明白歡迎追問

祝你學習進步!

12樓:匿名使用者

你好!!

還要別的答案嗎,這個可以用一個函式完成判斷

13樓:腦筋風暴

#include

int choos(int x,int y)else

return 0;

}return 1;

}int main()

14樓:

bool is_palindrome(int n)

用c語言編寫程式,輸入一個正整數,判斷是否為迴文數?

15樓:陳什麼楠

#include "

baistdio.h"

#include "duconio.h"

int main(void)

while(m!dao=0);

k--;

for(i=0;i專是否為迴文數

*/if(digit[i]!=digit[k]) break; /**//*不相等屬,則不是迴文數,推出迴圈*/

if(ielse printf("%ld is a huiwen number",n);

getch();

return 0;}

c++習題:從鍵盤上輸入一個正整數,判別它是否為一回文數。

16樓:匿名使用者

程式:#include

#include

using namespace std;int main(void);itoa(n, buf, 10);

for (int i = 0; i <= strlen(buf) / 2; ++i)

}cout << "是迴文數" << endl;

system("pause>nul");

return 0;}

輸入一個正整數,判斷是否為迴文數;c語言的

17樓:

"迴文數"是一種數字.如:98789, 這個數字正讀是98789,倒讀也是98789,正讀倒讀一樣,所以這個數字就是迴文數.

任意某一個數通過以下方式相加也可得到

如:29+92=121 還有 194+491=685,586+685=1271,1271+1721=2992

不過很多數還沒有發現此類特徵(比如196,下面會講到)

另外個別平方數是迴文數

1的平方=1

11的平方=121

111的平方=12321

1111的平方=1234321

在程式設計中,我們常常會遇到迴文數的判斷問題,這就需要我們對迴文數有所瞭解,並能編寫回文數函式予以呼叫。在此我用c語言編寫了個迴文數函式,其中 n 有讀者自己定義,其呼叫很方便。

迴文數函式**如下:

#include

#include

#define n 80

int fun(char *str)

問題補充:

人們迄今未能找到五次方,以及更高次冪的迴文數。於是數學家們猜想:不存在nk(k≥5;n、k均是自然數)形式的迴文數。

在電子計算器的實踐中,還發現了一樁趣事:任何一個自然數與它的倒序數相加,所得的和再與和的倒序數相加,……如此反覆進行下去,經過有限次步驟後,最後必定能得到一個迴文數。

這也僅僅是個猜想,因為有些數並不「馴服」。比如說196這個數,按照上述變換規則重複了數十萬次,仍未得到迴文數。但是人們既不能肯定運算下去永遠得不到迴文數,也不知道需要再運算多少步才能最終得到迴文數。

使用c語言程式設計:從鍵盤輸入一個5的正整數,判斷它是不是迴文數。

18樓:匿名使用者

#include

int main()

19樓:惡疾臭魚

#include

#include

#include

void check(int* hui)//這個函式用來檢測是否是5位數

{int i;

int count=0;//計數變數

char lenth[10];

for(i=0;i

**裡的註釋很清晰,如果不懂再問噢。其實還有另一種方法,就是直接定義一個int型陣列,然後通過取對應的位數進行比較,然後得出結果,不過這種方法通用性較低,但是也行。

20樓:匿名使用者

#include

int main()

i=num/10000;

j=(num-i*10000)/1000;

k=(num-i*10000-j*1000)/100;

if(i*10000+j*1000+k*100+j*10+i==num)

printf("這是一個迴文數!");

else printf("這不是一個迴文數!");}

使用C語言程式設計 從鍵盤輸入5的正整數,判斷它是不是迴文數

include int main 惡疾臭魚 include include include void check int hui 這個函式用來檢測是否是5位數 int i int count 0 計數變數 char lenth 10 for i 0 i 裡的註釋很清晰,如果不懂再問噢。其實還有另一種...

輸入正整數n,判斷n是否是素數,輸入一個正整數n,判斷n是否是素數。

問明 include include int zshu int x 判斷x是不是素數。zshu代表素數,即質數。int i i 2 if x 2 x是素數 return 1 else if x 1 x不是素數 return 0 else while iif x i 0 break return 0 ...

c語言程式設計輸入不超過5位的正整數

include void main printf 它是 d位數 n sum int j printf 它的每一位是 for j i j 0 j 此時i的值是上個迴圈的值 printf d a j printf n printf 逆序輸出每一位 for j 0 j i j printf d a j i...