編寫乙個演算法,用來判斷成對的字串 25

2025-07-15 10:15:22 字數 3007 閱讀 5525

寫乙個演算法,用以判斷輸入字串是否為迴文

1樓:匿名使用者

#include

#define size 50

int ispalindrome(char str);

int elementsize=0;

static int i=0;

int main()

if(ispalindrome(str))printf("該字串是迴文字串");

elseprintf("該字串不是迴文字串");

system("pause");

return 0;

*函式功能:判斷字串是否為迴文串*/int ispalindrome(char str)else //出現不相等的情況,說明不是迴文串,返回0return 0;}

資料結構題,「試編寫乙個演算法,判斷乙個字元序列是否是迴文(中心位置對稱的字串)」。(手機訊息)

2樓:匿名使用者

/*用順序儲存結構*/

#include""

void main()

elsefor(j=a,k=b;j>=0,k<=i;j--,k++)//判斷是否迴文//

if(k==i+1)

printf("yes,it is!");

elseprintf("it's not.");

還可以用鏈式儲存結構,核心演算法一致。

3樓:匿名使用者

這個用c語言很簡單的,很可惜我考了二級很久了,都不記得怎麼用了,你用指標的那部分知識就夠了!

僅使用棧和佇列,編寫乙個演算法來判斷乙個字串是否為迴文.

4樓:微生問

如果棧和佇列都要用到的話,先將字串全部入隊,然後將一半(n/2)的字元出隊並且壓入棧中,如果字元總數為奇數則丟棄佇列中第乙個字元,然後將乙個字元出隊,乙個字元出棧,比較,迴圈,結束。

5樓:淺_水

我也想問啊。。剛學那些。我也不會。

一道資料結構題,設單連結串列中存放著n個字元,試編寫演算法,判斷該字串是否有中心對稱關係。

6樓:乘風劫

這個簡單啊 首先對輸入的字串進行處理 比如獲得它的長度 中點位子 偶數就各半 奇數 就中點去掉 首先前半的字元入棧 過中點後拿後面的字元乙個個和棧裡拿出來的比較 如果有不同的就輸出n 一一對應 如果棧裡沒資料了 且最後相同 則可以輸出y 其他的情況都可以直接跳出輸出n

編寫乙個演算法frequency,統計在乙個輸入字串中各個不同字元出現的頻度

7樓:黯然銷魂馬

#include

#define max 100

void detect(char s)

*記錄每個字元出現的次數*/

int i,j,n=0;

for(i=0;s[i]!='\0';i++)for(i=0;i}main()

寫乙個演算法,判別讀入的乙個以@為結束符的字元序列是否是「迴文」

8樓:網友

1全部#include

#define init_size 20

#define incr_size 10

unsigned int strlen(char *str) /// 求出字串中含有的字元個數,不包括結束標誌。

int ispalindrome(char * str)return 1;

void main()

if (i < len-1) else

i++;if (ispalindrome(str) != 0) else}

試用c語言設計乙個程式,程式的功能是接收任意輸入乙個算術表示式,判斷表示式中的括號是否配對出現。

9樓:網友

//最近的棧作業~

#include

using namespace std;

class stack

stack()

void clear() //清空棧。

bool push(const int value) //壓入。

else if(c==')'||c==']'||c=='}');

if(temp==c-1||temp==c-2);

elsec=s[++i];

if(!flag=0;

if(flag2)

cout<<"無括號";

else if(flag)

cout<<"括號配對正確";

elsecout<<"括號配對錯誤";

int main()

10樓:匿名使用者

演算法如下(直接抄書):

做乙個空棧。讀入字元直至檔案尾。如果字元是乙個開放符號(左括號),則將其壓入棧中。

如果字元是乙個封閉符號(右括號),那麼若棧為空,則報錯;棧不為空,則將棧元素彈出。如果彈出的符號表示對應的左括號,則報錯。讀完最後乙個字元,如果棧非空則報錯。

.編寫乙個程式,求兩個字串s和t的乙個最長公共子串。誰有好的演算法,就是簡單,好拿c實現的。

11樓:網友

假定字串採用堆分配方式,編寫乙個程式,求兩個字串s和t的乙個最長公共子串。

本題的思路:

本題要實現的演算法掃瞄兩個字串。其中index指出最長公共子串在s中的序號,length指出最長公共子串的長度。

堆分配儲存表示如下:

typedef structhstring;

j=j+length1;//繼續掃瞄字串t中第j=length1個字元之後的字元。

else//while

i++;//while

printf("最長公共子串:");

for(i=0;ireturn ok;}

幫忙編寫演算法,幫忙編寫一個演算法

實現逆轉的函式為void reversequeue 其他的都是輔助測試所用。include stdio.h include stdlib.h include time.h include math.h define max 10 struct queue que void initial int i...

判斷字元是雙位元組還是單位元組,判斷一個字元是雙位元組還是單位元組

雙位元組字元就是佔兩個位元組的字元。在英語中,用128個單位元組字元便可以內表示所有,但是用來表容示其他語言,128個符號是不夠的。比如,在 gb 2312 編碼或 gbk 編碼中,一個漢字字元儲存需要2個位元組。在utf 8編碼中,一個英文字母字元儲存需要1個位元組,一個漢字字元儲存需要3到4個位...

乙個有趣的演算法問題。 50

乙個有趣的演算法問題。很有趣,討論一下吧 先隨機放個a,將它的周圍個位置編號,,,,,,,從號到號依次放樓,能放d就放d,不能顫叢純就放c,c還不能就放b,然後再以已放好的這九個為中心,放它周圍的個,按相同的規則編號,然後放樓。這樣繼續下去,直到放完。如果碰到邊界,也沒關係,把除去邊界部分編號處理。這...