问题:
输入一不包含空格的字符串,判断输入的字符串是否为回文。回文是相对中心左右对称的字符串。如字符串“abcba”和“abddba”是回文,而字符串“abcAa”不是回文。要求判断字符串是否为回文的功能用函数实现。
答案1:
#include<stdio.h>
#include<string.h>
void huiwen(char * str,int n);
void main()
{
char str[10];
int len;
printf("请输入字符串:");
scanf("%s",str);
len=strlen(str);
huiwen(str ,len);
}
void huiwen(char * str,int n)
{ int net=0;
int i,j;
for(i=0,j=n-1;i<n/2;i++,j--)
{ if(str[i]==str[j]) net++;}
if(net==int(n/2))
printf("%s: 是回文字符串.\n",str);
else
printf("%s: 不是回文字符串.\n",str);
}
答案2:
main()
{char s[255];int i,j,b=1;
printf("Input a string:");
scanf("%s",s);
i=strlen(s);
for(j=1;j<=i/2;j++)
b=b&&(s[j-1]==s[i-j]);
printf(b?"Yes\n":"No\n");}
答案3:
int main()
{gets( str );
char *p1=str, *p2=str+strlen(str)-1;
for( ; p1<p2 && *p1==*p2; ++p1, --p2 );
puts( p1<p2 ? "不是回文" : "是回文" );
return 0;
} char str[260];
答案4:
int main()
{char str[260];
gets( str );
char *p1=str, *p2=str+strlen(str)-1;
for( ; p1<p2 && *p1==*p2; ++p1, --p2 );
puts( p1<p2 ? "不是回文" : "是回文" );
return 0;
}
答案5:
int is ( const char *str, size_t len )
{
size_t i = 0;
for ( ; i < len; ++i ) {
if ( str[len - 1] != str[i] )
return 0;
if ( len - 1 < i )
break;
}
return 1;
}
Word教程网 | Excel教程网 | Dreamweaver教程网 | Fireworks教程网 | PPT教程网 | FLASH教程网 | PS教程网 |
HTML教程网 | DIV CSS教程网 | FLASH AS教程网 | ACCESS教程网 | SQL SERVER教程网 | C语言教程网 | JAVASCRIPT教程网 |
ASP教程网 | ASP.NET教程网 | CorelDraw教程网 |