当前位置: 代码迷 >> C语言 >> 初学者指针问题求救!
  详细解决方案

初学者指针问题求救!

热度:142   发布时间:2008-04-29 23:38:19.0
初学者指针问题求救!
输入一个字符串,判断是否为回文.请写出具体的解题思路与代码,本人今天学的指针,上课的时候什么都没听懂,感觉脑子快爆炸了.
搜索更多相关的解决方案: 指针  

----------------解决方案--------------------------------------------------------
倒!
我们今天也才教了怎样对字符串进行处理。其中就有一个是判断是否为回文!
也要正加深加深理解!
学习学习~~~~~~~~~~~~~
----------------解决方案--------------------------------------------------------
没有哪位好心人愿意救助一个在C的路途上迷途的羔羊吗,痛苦ing...
----------------解决方案--------------------------------------------------------
#include<stdio.h>
#include<string.h>
void main()
{  char ch[10],*p;
   int flag=1,len=0;
     gets(ch);
     p=ch;
  
  while(ch[len]!='\0') len++ ;
  
  for(int i=len-1;i>len/2;i--,p++)
     { if(*p==ch[i]) continue;
       else { flag=0;break;}
  }
  
  if(flag)printf("yes");
      else printf("No");
}
----------------解决方案--------------------------------------------------------
建议楼主多看看书.
很好地研究一下.
----------------解决方案--------------------------------------------------------
[quote]#include<string.h>抱歉,这个头文件是起什么作用的,我还没学过[/quote]
后面的基本看懂了
----------------解决方案--------------------------------------------------------
string.h头文件包含了一些对字符串操作的函数的声明如:strcpy strcat
----------------解决方案--------------------------------------------------------
[bo]以下是引用 [un]neverTheSame[/un] 在 2008-4-30 00:37 的发言:[/bo]

string.h头文件包含了一些对字符串操作的函数的声明如:strcpy strcat

谢谢,我今天已经看了好几遍视频教程,还是觉得没理出个头绪来,
----------------解决方案--------------------------------------------------------
感谢您的感慨相助!
[bo]以下是引用 [un]beyond0702[/un] 在 2008-4-30 00:14 的发言:[/bo]

#include
#include
void main()
{  char ch[10],*p;
   int flag=1,len=0;
     gets(ch);
     p=ch;
  
  while(ch[len]!='\0') len++ ;
  
  for(int i=len-1;i>len/2;i--,p++)
     { if(*p==ch) continue;
       els ...

再次感谢!
----------------解决方案--------------------------------------------------------
这是我编写的:使用了SeqStack.h堆栈,SCQueue.h队列

#include<stdio.h>
#include<conio.h>
#define MaxStackSize 100
#define MaxQueueSize 100
typedef char DataType;
#include"SeqStack.h"
#include"SCQueue.h"
void HuiWen(char []);
void main(void)
{
  char string[]="aca";
  clrscr();
  HuiWen(string);
  getch();
}
void HuiWen(char string[])
{
  SeqStack myStack;
  SeqCQueue myQueue;
  int i,length=strlen(string);
  char x,y;

  StackInitiate(&myStack);
  QueueInitiate(&myQueue);
  for(i=0;i<length;i++)
    {
      StackPush(&myStack,string[i]);
      QueueAppend(&myQueue,string[i]);
    }
  while(QueueNotEmpty(myQueue)*StackNotEmpty(myStack))
    {
      if(QueueDelete(&myQueue,&x)
    && StackPop(&myStack,&y)
    && x!=y)
      {
    printf("%s is not HuiWen\n",string);
    return ;
      }
    }
  if(QueueNotEmpty(myQueue)||
     StackNotEmpty(myStack))
   printf("%s is not HuiWen\n",string);
  else
   printf("%s is HuiWen\n",string);
}
----------------解决方案--------------------------------------------------------
  相关解决方案