c语言中,不使用任何函数,判断一个字符串是否为回文数,字符串里包括字母和数字

不使用任何函数

用栈实现回文数的判断,参考代码如下:
#include<stdio.h>

int main()
{
char str[400]="1212121";
char stk[200];
int sp=0,l=0,mid,i=0;

while(str[l]!=0)++l;
mid=l/2;

while(i<mid){
stk[sp++]=str[i];
++i;
}
if(l%2!=0)++i;

while(i<l)
if(stk[--sp]==str[i])
++i;
else break;

printf("%s", str);
if(i==l)
printf("是回文数。");
else
printf("不是回文数。");

return 0;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-11-12
不用任何函数?? while( ) , for 都不能用?追问

意思是不使用任何字符串函数,例如strcpy之类的

追答#include <stdio.h>
#include <stdlib.h>

int main()
{
char s[100];
scanf("%s",s);   //输入一个字符串 
int len=0;
while(s[len++]){}  //获取该字符串长度 
len--;
int i=0;
for(i;i<len/2;i++)  //依次判断第一个和最后一个, 第二个和倒数第二个...是否相等 
{
if(s[i]!=s[len-1-i])  //如果有任何一个不相等,则不是回文数 
{
break;
}
}
if(i>=len/2)
{
printf("yes");
}
else
{
printf("no");
}
return 0;
}

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网