一些查詢和判斷的C程式設計題

2021-04-12 12:36:51 字數 1404 閱讀 5712

1   查詢字串str中有多少個指定的子串str1

方法一:遍歷(如果str1只有乙個字元)

c1 = 0;

for (int i = 0; i < str.length; i++)}

方法二:把要str1用空格取代,那麼str少掉的數目就是str中含str1的數目

str.length - str.replace(str1, string.empty).length;

2   統計給定文字的單詞個數

演算法:(1),與字母的ascii碼做比較得出是否字母。

(2),設定是否進入單詞標誌,如果是字母,單詞標誌設為false,如果非字母(單詞開始),設為true,進入count++

public static int  wordcount(string strinput)

}else

}return count;

}3   在一篇文件裡找出某字串的所有行號和個數

*   引數:

* fd, 開啟的檔案控制代碼

* str,指向要查詢的字串。

*   返回值: 出現的個數

int   findstr(file*  fd,char   *str)

}if(c==13)

col=0;

if(c=='/n')  

col++;

}printf("total   :%d/n",count);

return   count;

} 4   寫一函式,檢測乙個字串是否有乙個回環串?(比如abcdedcba)

#include  

#include  

bool   test(char*   src)

list;

///定義head,tail結點

list *head=null,*tail=null;

///建立乙個鍊錶頭尾結點物件,相當於c++裡new

void new_list()

///新增結點往頭上添

void add_item()

///釋放鍊錶空間

void free_list()

free(head); }

///建立迴圈鍊錶

void make_loop()

///判斷是否迴圈鍊錶,返回1為loop

///*p1和*p2同時指向頭指標,p1=p1->next,p2=p2->next,p2=p2->next,這樣遞增,如果可以指向同樣的///結點就是迴圈結點,否則不是

int check_list_loop()

/*return value 1:loop*/

/*0:!loop*/

return 0; }

int main(int argc, char *argv)

梳理一些簡單的程式設計題(一)

1.找出元素item在給定陣列arr中的位置 function indexof arr,item else return 1 indexof 方法可以返回某個指定的字串值在字串中首次出現的位置 2.計算給定陣列arr中所有元素的和 function sum arr return sum functi...

C 程式設計的一些原則

1.不能在容器中使用auto ptr,要用boost的share ptr。具體原因可以查auto ptr的特性。2.別用vector。3.如果將派生類直接賦值給基類,派生類獨有的資訊將丟失。因此這種情況,最好用指標,將派生類的指標賦值給基類的指標變數。4.生成std map的時候,鍵值可以是任何類,...

c 程式設計的一些技巧

第一點,使用全域性物件的建構函式在程式啟動前呼叫函式 有一些應用程式需要在主程式啟動前呼叫其它函式。如 轉態過程函式 登記 功能函式都是必須在實際程式執行前被呼叫的。最簡單的辦法是通過乙個全域性物件 的建構函式來呼叫這些函式。因為全域性物件都是在主程式開始前被構造,這些函式 都將會在main 之前返...