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

2021-08-04 10:35:23 字數 6347 閱讀 6297

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樓:笑談詞窮

輸入字串s(也可以輸入數字然後用sprintf程式設計字串)int len=strlen(s)-1,i;

bool judge=true;

for(i=0;i

8樓:shine落翼之殤

輸入以下程式即可判斷:

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

bool judge=true;

for(i=0;i

if(s[i]!=s[len-i])

“迴文”是指正讀反讀都能讀通的句子,它是古今中外都有的一種修辭方式和文字遊戲,如“我為人人,人人為我”等。在數學中也有這樣一類數字有這樣的特徵,成為迴文數(palindrome number)。

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

9樓:匿名使用者

void main()

if(k==i)

cout<<"n是迴文數";

else

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

}剛好老師出了這道題

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

10樓:陳什麼楠

#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;

11樓:匿名使用者

# include

int main(void)

if(sum == val)else

return 0;}

12樓:傳小奇

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++編寫一個程式,讀入一個整數後,能夠判斷它是否為迴文數.

13樓:匿名使用者

#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;

輸入輸出函式就可以了.

14樓:夢易少年

#include "iostream.h"

#include "string.h"

#define n 20

void main()

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

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

祝你學習進步!

15樓:匿名使用者

你好!!

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

16樓:腦筋風暴

#include

int choos(int x,int y)else

return 0;

}return 1;

}int main()

17樓:

bool is_palindrome(int n)

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

18樓:陳什麼楠

#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++習題:從鍵盤上輸入一個正整數,判別它是否為一回文數。

19樓:匿名使用者

程式:#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語言的

20樓:

"迴文數"是一種數字.如: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語言程式設計判斷輸入的正整數是否為素數

素數 有無限個,除了1和它本身以外不再有其他的因數。所以可以通過for迴圈從2到n 1依次整除n如果能整除則不是素數,否則就是素數。參考 include int fun int n 判斷n是否是素數int i for i 2 i include int main if g 0 printf yes ...

c語言,輸入正整數a,b,c輸出ab的小數形式,保留小數點

難道是輸入資料中的分隔符 逗號 惹的禍?沒有問題啊 題目要求的是只輸入一組資料還是要輸入多組?如果是要輸入多組的話要用到 c語言 輸入正整數a,b,c,輸出a b的小數形式,保留小數點後c位。a,b 1000000,c 100 include int main include 最大的精度 defin...

c語言問題輸入整數n和它的進製d判斷整數

include int fun int n,int d int index 0,x,y,i x n y n d while x 0 for i 0 i index 2 i return 1 void main else include include using namespace std stat...