功能:输入一个字符串,判断是否为回文。
主要锻炼指针的用法。
1.C版
#include<stdio.h> int main()
{
char he[];
char a;
int i=,flag=;
while((a=getchar())!='\n')
{
he[i]=a;
i++;
}
int n=i;
for(i=;i<n/;i++)
{
printf("%c\t%c\n",he[i],he[n--i]);
if(he[i]!=he[n--i])
{
printf("no");break;
}
}
if(flag==)
{
printf("yes");
}
return ;
}
getchar()函数依次获取一个输入,并赋给char型变量a,再通过a赋给char型数组he[]。
当输入“\n”即回车时,跳出循环。
2.C++版
#include<iostream>
#include<string.h>
using namespace std; int main(void)
{
char *p="abcba";
int n=strlen(p);
bool flag=;
int i;
for(i=;i<n/;i++)
{
cout<<p[i]<<"\t"<<p[n--i]<<endl;
if(p[i]!=p[n--i])
{
flag=;
cout<<"no"<<endl;break;
}
}
if(flag==)
cout<<"yes"<<endl;
return ;
}
strlen()取长度
3.C函数调用版
#include<stdio.h>
#include<string.h> int pp(char *p)
{
int n=strlen(p),i;
//printf("%d",n);
if(p==NULL)return -;
for(i=;i<n/;i++)
{
// printf("%c\t%c\n",p[i],p[n-1-i]);
if(p[i]!=p[n--i])
{
return ;
}
}
return ;
} int main()
{
char *p="abcba";
int a=pp(p);
printf("%d",a);
}
pp()为一个int型函数,故返回一个int型的值,在主函数中通过声明一个int a来接收。