本文目录一览:
1、C语言对称字符串 2、C语言,怎样判断一个字符串是否对称 3、[编写一个算法利用顺序栈判断一个字符串是否是对称串 c语言](#编写一个算法利用顺序栈判断一个字符串是否是对称串 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语言
#include stdio.h
#include malloc.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.base >= sq.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; i < length; i++) {
push(sq, str[i]);
}
for(i = 0; i < length; i++) {
pop(sq, e);
if(e != str[i]) {
printf("ERROR\n");
return 0;
}
}
printf("CORRECTLY!");
return 1;
}
用c语言从键盘输入一个字符串,判断字符串是否对称,若对称返回1,否则返回0
#include <stdio.h>
#include <string.h>
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 < 1) return 0;
}
int main() {
char str[20], ch[20];
printf("enter string: ");
scanf("%s", str);
printf("enter you want delete letter: ");
scanf("%s", ch);
char s = fun(str, ch);
printf("%d", s);
return 0;
}