演算法學習之基礎題

2022-01-31 03:15:38 字數 863 閱讀 6140

基礎題之字串

題目:把手放在鍵盤上,稍不注意就會往右錯一位。q會變成w,j會變成k。

輸入乙個錯位後敲出的字串,輸出打字員本來想打出的句子。

分析:如何進行這樣的變換呢?一種方法是使用if語句或者switch語句,如if(c==『w』)putchar(『q』)。

但很明顯,這樣做太麻煩。乙個較好的方法是使用常量陣列。

題目:tex括號

在tex中,左雙引號是「,右雙引號是」,輸入一篇包含雙引號的文章,你的任務是把它轉換成tex的格式。

樣例輸入:

"to be or not to be,"quoth the bard,"that is the question".

樣例輸出:

「to be or not to be,」quoth the bard,「that is the question」.

分析:本題的關鍵是,如何判斷乙個雙引號是「左」雙引號還是「右」雙引號。

#include

#include

#include

int main()else

}getch();

return 0;

}週期串問題

題目:如果乙個字串可以由某個長度為k的字串重複多次得到,我們說該串以k為週期。

例如,abcabcabc以3為週期。輸入乙個長度不超過80的串,輸出它的最小週期。

樣例輸入:hohoho

樣例輸出:2

#include

#include

#include

int main()

printf("%d\n",ans);

} getch();

return 0;

}

演算法學習之基礎題

基礎題之字串 題目 把手放在鍵盤上,稍不注意就會往右錯一位。q會變成w,j會變成k。輸入乙個錯位後敲出的字串,輸出打字員本來想打出的句子。分析 如何進行這樣的變換呢?一種方法是使用if語句或者switch語句,如if c w putchar q 但很明顯,這樣做太麻煩。乙個較好的方法是使用常量陣列。...

基礎演算法學習之模擬

模擬,入門級演算法,顧名思義,就是讓電腦按照題目所給出的方法來執行,最終輸出所需要的結果的過程。在這個演算法中,需要注意到的有以下幾點 關於所使用的語言的是否熟悉 最為關鍵 關於問題的分析思路是否最簡 是否嫩在規定時間內模擬完整個過程並輸出結果 關於問題的分析方法是否易於實現 關乎比賽時能否在規定時...

演算法學習 基礎排序演算法

這篇文章主要講解3個基礎的排序演算法,選擇排序,插入排序,以及氣泡排序,其時間複雜度都是0 n 2 級別的,實現 使用c 語言。首先給定乙個元素是無序的整數陣列 需要對這個陣列中的8個整數進行從小到大的排序。選擇排序的基本思路 首先從起始位置index 0開始,遍歷一遍陣列,獲取到最小的元素值ind...