您的位置:

对称串c语言,对称数c语言

本文目录一览:

C语言对称字符串

指针s指向的是一个二维数组,这里s[n]相当于一个指向字符串的指针,它的值是字符串在内存中的地址,所以f(s[n]=='\0') break错了。*s[n]指向由s[n][0]到s[n][80]字符组成的字符串

C语言,怎样判断一个字符串是否对称

#include stdio.h

#include string.h

void main(){

int i,n,k=1;char str[1000];

gets(str);n=strlen(str);

for(i=0;i=n/2;i++)

if(str[i]!=str[n-i-1]) {k=0;break;}

k?printf("对称"):printf("不对称");

}

编写一个算法利用顺序栈判断一个字符串是否是对称串 c语言

#includestdio.h

#includemalloc.h

#include "string.h" 

#define stack_init_size 100

#define stackincrement 10

#define overflow 0

#define ok 1

#define error 0

   

typedef struct {

  char *base;

  char *top;

  int stacksize;

 } sqstack;

 int initstack(sqstack sq)           /*初使化堆栈*/

 {

  sq.base=(char *)malloc(stack_init_size*sizeof(char));

  if(!sq.base) return overflow;

  sq.top=sq.base;

  sq.stacksize=stack_init_size;

  return ok;

 }

int push(sqstack sq,char e)    /*压栈*/

 {

  if(sq.top-sq.basesq.stacksize)

  {

   sq.base=(char *)realloc(sq.base,(sq.stacksize+stackincrement)*sizeof(char));

   sq.top=sq.base+sq.stacksize;

   sq.stacksize+=stackincrement;

  }

  *sq.top++=e;

 }

int pop(sqstack sq,char e)    /*出栈*/

 {

  if(sq.top==sq.base) return error;

  e=*--sq.top;

  return ok;

 }

int main()   /*主程序 压入1到100,然后再弹出*/

{

 int i, length;

 char e;

 int a[100];

 char str[20]="abcdefedcba";

 length = strlen(str);

 sqstack sq;

 initstack(sq);

 for(i=0; ilength; i++) {

  push(sq, str[i]);

 }

 for(i=0; ilength; i++) {

  pop(sq, e);

  if(e != str[i]) {

  printf("ERROR\n");

  return 0;

 }

 }

 printf("CORRECTLY!");

 return 1;

}

用c语言从键盘输入一个字符串,判断字符串是否对称,若对称返回1,否则返回0

#include#include using namespace std;char fun(char str[20],char ch[20]){ int i,j=0; for(i=0;str[i]!='\0'ch[i]!='\0';i++) if(str[i]==ch[i])j++;//我想让字符串1与字符串2作比较,然后相同时j就+1,这里貌似j从来不加.返回值永远都是0 if(j=1)return 1; if(j(str); printf("enter you want delete letter : "); cin(ch); s=fun(str,ch); printf("%d",s);}