本文目錄一覽:
- 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);}
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/252894.html