编程 回文

来源:百度知道 编辑:UC知道 时间:2024/06/05 21:00:46
编写函数,判断一个以@字符结尾的字符串是否是回文。

回文是顺读和倒读都一样的字符串。

用 C语言 C++ 或者JAVA 编写都可以
最好把注释都写下 我是新手 想了解下思路 和 过程

现在给你提供一个使用C语言编写的程序,其余语言中基本上是一样的,只需要做稍微的变化即可的!
源程序如下:
#include<string.h>
#include<stdio.h>
#include<stdlib.h>
void main()
{
char str[80];//定义一个char型数组用于存储输入的字符串
int i, t=0,k;//定义变量,用于题目中作为循环等的使用
printf("请输入一个以@结束的字符串:\n");//提示输入一个以@结束的字符串
scanf("%s",str);//接收输入的字符串,此句可以使用gets(str);代替
k=strlen(str);//求字符串的长度,并且赋给变量k
if(str[k-1]!='@')//判断输入的字符串是否合法
{
printf("输入不合法!\n");//如果输入的字符串不合法是提示输入错误
exit(0);//跳出程序的运行,此函数被包含在头文件stdlib.h中
}
for (i=0;i<k/2;i++)//遍历字符串,只需要遍历字符串长度的一半即可
if (str[i]!=str[k-2-i])//比较两个字符是否相等
{
t=1;//如果不等是t被赋值为1
break;//跳出循环
}
if(t!=1)
printf("输入的这个字符串是一个回文数!\n");//如果说是回文数提示输出
else
printf("输入的这个字符串不是一个回文数!\n");//如果说不是回文数提示输出
}
注意这只是一种方法的,还可以有很多方法的,在判断出输入不正确的时候可以跳到前面去要求继续输入,知道输入正确为止!这个楼主可以自己试一下研究一下啊的!

思路