《C程式語言》練習 4 1

2021-08-14 06:51:47 字數 1009 閱讀 9535

練習 4-1

編寫函式 strindex(s, t),它返回字串 t 在 s 中最右邊出現的位置。

如果 s 中不包含 t,則返回-1。

寫了兩個函式,這是第乙個

思路是從右往左倒著比較,然後返回第乙個匹配字元的下標

int  strindex(char s, char t)

return -1;

}

先找到字串最右邊的下標

然後從右往左比較。

第乙個while的迴圈條件是:

(如果s中還沒比較的字元個數已經小於t的長度,那麼肯定不能包含t )

因為在第二個while中用的是 s[k–] 和 t[l–] ,全部比較完的話 l 是 -1, k是匹配字串的下標-1 。

所以這裡判斷(l < 0) 和 return ++k;

第二個

思路是正常從左到右比較,

返回最後乙個匹配字元的下標

int  strindex2(char s, char t)

return l;

}

這個其實和書上的原版差不多,

不過就是多了乙個變數 l

用來記錄最後乙個匹配字元的下標

完整** :

/*練習 4-1 編寫函式 strindex(s, t),它返回字串 t 在 s 中最右邊出現的位置。

如果 s 中不包含 t,則返回-1。*/

#include

int strindex(char s, char t);

int strindex2(char s, char t);

main()

int strindex(char s, char t)

return -1;

}int strindex2(char s, char t)

return l;

}

C語言程式設計練習

1 給你任意三個整形資料,找出其中最大乙個整形數。include main int findmax int x,int y,int z else if z max return max 使用函式 三目運算子 include int main int findmax int x,int y 2 求1 ...

c語言程式設計練習

練習 賬號 taylent problem 2000 ascii碼排序 problem description 輸入三個字元後,按各字元的ascii碼從小到大的順序輸出這三個字元。includeint main return 0 補充知識點 在計算機系統中,數值一律用補碼來表示和儲存。原因在於,使用...

C語言程式設計練習

調整陣列使奇數全部都位於偶數前面 題目 輸入乙個整數陣列,實現乙個函式,來調整該陣列中數字的順序使得陣列中所有的奇數字於陣列的前半部分,所有偶數字於陣列的後半部分 設計思路 一 前奇後奇 讓這個陣列前半部分往右移動一位,即left 後半部分不動。二 前奇後偶 這個陣列前半部分右移一位,即left 後...