問(wèn)題描述“回文”是一種特殊的數(shù)或者文字短語(yǔ)。他們無(wú)論是順讀還是倒讀,結(jié)果都一樣。例如:12321,?55555,45554。讀入一個(gè)5位整數(shù),判斷它是否是回文數(shù)。輸入多組測(cè)試數(shù)據(jù),每組一行,一個(gè)五位整數(shù),數(shù)據(jù)以0結(jié)尾。輸出對(duì)每組輸入數(shù)據(jù)輸出一行,如果輸入數(shù)是回文數(shù),輸出“Yes.”?,否則輸出?“No.”?。輸入樣列12345
12321
11111
0輸出樣例No.
Yes.
Yes.自己做的總是不對(duì)的,所以想問(wèn)問(wèn)大家,謝謝!!
3 回答
已采納

望遠(yuǎn)
TA貢獻(xiàn)1017條經(jīng)驗(yàn) 獲得超1032個(gè)贊
#include<stdio.h> void?main() { int?i,j,k,n,flag; char?arr[50][5]; printf("請(qǐng)輸入你想要測(cè)試的數(shù)據(jù)組數(shù):"); scanf("%d",&n); for(i=0;i<n;i++) { flag=1; getchar(); printf("請(qǐng)輸入第%d個(gè)數(shù)據(jù):",i+1); for(j=0;j<5;j++) { scanf("%c",&arr[i][j]); } for(j=0,k=4;j<k;j++,k--) { if(arr[i][j]!=arr[i][k]) { flag=0; break; } } if(flag) { printf("%c%c%c%c%c是回文數(shù)\n",arr[i][0],arr[i][1],arr[i][2],arr[i][3],arr[i][4]); } else { printf("%c%c%c%c%c不是回文數(shù)\n",arr[i][0],arr[i][1],arr[i][2],arr[i][3],arr[i][4]); } } }
運(yùn)行結(jié)果:

Coolman
TA貢獻(xiàn)7條經(jīng)驗(yàn) 獲得超4個(gè)贊
從首尾開(kāi)始分別取一個(gè)字符比較,如果不同就停止循環(huán)。
注意比較次數(shù) start < end,最多比較 長(zhǎng)度/2 次。

Coolman
TA貢獻(xiàn)7條經(jīng)驗(yàn) 獲得超4個(gè)贊
//?Java public?class?Test?{ ????public?static?void?main(String[]?args)?{ ????????String?i?=?"12345"; ???????? ????????//?0 ????????char[]?a?=?i.toCharArray(); ????????for?(int?start?=?0,?end?=?a.length?-?1;?start?<?end;?start++,?end--)?{ ????????????if?(a[start]?!=?a[end])?{ ????????????????System.out.println(false); ????????????????return; ????????????} ????????} ???????? ????????//?1 ????????for?(int?start?=?0,?end?=?i.length()?-?1;?start?<?end;?start++,?end--)?{ ????????????if?(i.charAt(start)?!=?i.charAt(end))?{ ????????????????System.out.println(false); ????????????????return; ????????????} ????????} ???????? ????????System.out.println(true); ????} }
- 3 回答
- 1 關(guān)注
- 2693 瀏覽
添加回答
舉報(bào)
0/150
提交
取消