本文目录一览:
- 1、C语言对称字符串
- 2、C语言,怎样判断一个字符串是否对称
- 3、编写一个算法利用顺序栈判断一个字符串是否是对称串 c语言
- 4、用c语言从键盘输入一个字符串,判断字符串是否对称,若对称返回1,否则返回0
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);}