问题描述“回文”是一种特殊的数或者文字短语。他们无论是顺读还是倒读,结果都一样。例如:12321, 55555,45554。读入一个5位整数,判断它是否是回文数。输入多组测试数据,每组一行,一个五位整数,数据以0结尾。输出对每组输入数据输出一行,如果输入数是回文数,输出“Yes.” ,否则输出 “No.” 。输入样列12345
12321
11111
0输出样例No.
Yes.
Yes.自己做的总是不对的,所以想问问大家,谢谢!!
3 回答
已采纳
望远
TA贡献1017条经验 获得超1032个赞
#include<stdio.h> void main() { int i,j,k,n,flag; char arr[50][5]; printf("请输入你想要测试的数据组数:"); scanf("%d",&n); for(i=0;i<n;i++) { flag=1; getchar(); printf("请输入第%d个数据:",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是回文数\n",arr[i][0],arr[i][1],arr[i][2],arr[i][3],arr[i][4]); } else { printf("%c%c%c%c%c不是回文数\n",arr[i][0],arr[i][1],arr[i][2],arr[i][3],arr[i][4]); } } }
运行结果:
Coolman
TA贡献7条经验 获得超4个赞
// 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 关注
- 2591 浏览
添加回答
举报
0/150
提交
取消