从键盘输入一个字符串,判断其是否为回文字符串

用c++

#include<string.h>
#include<stdio.h>
main()
{
char a[40]; //定义一个存放待判断的字符数组
int i=0,len;
printf("please input your string :(length<40):");
gets(a); //逐个读取a 数组中的字符
len=strlen(a); //计算字符串的长度
for(i=0;i<(len-1)/2;i++)
{
if(a[i]!=a[len-1-i])//逐个将两端的字符进行比较 如第一个与最后一个比较 第二个与倒数第二个比较 如不同 则跳出循环
break;
}
if(i==(len-1)/2)// 如i已经自加至字符串的中间位置 则表示是回文 如 没有 则不是
printf("Yes");
else
printf("No");
}

这程序 我粗略写的 没有运行 你运行试一下
温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-10-13
Java版如下:

import java.util.Scanner;

public class PalindromeString {

public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.print("请输入你的字符串:");
String str = in.nextLine().toString();
int temp = 0;
for(int i = 0; i < str.length()/2; i++) {
if(str.charAt(i) != str.charAt(str.length()-1-i)) {
temp = 1;
break;
}
}
if(temp == 1)
System.out.print("该字符串不是回文字符串");
else
System.out.print("该字符串是回文字符串");
in.close();
}
}
相似回答