描述有兩個由字元構成的環。請寫乙個程式,計算這兩個字元環上最長連續公共字串的長度。例如,字串「abcefagadegkabuvklm」的首尾連在一起,構成乙個環;字串「madjkluvkl」的首尾連在一起,構成乙個另乙個環;「uvklma」是這兩個環的乙個連續公共字串。
輸入一行,包含兩個字串,分別對應乙個字元環。這兩個字串之間用單個空格分開。字串長度不超過255,且不包含空格等空白符。
輸出輸出乙個整數,表示這兩個字元環上最長公共字串的長度。
樣例輸入abcefagadegkabuvklm madjkluvkl
樣例輸出思考與做題時遇到的錯誤:6
字串收尾相接,首先想到取模,再想到字串*2再拼接到源字串後
長度最長為最短字串的長度遇到的錯誤:在迴圈的內部,不要更改迴圈變數的值
**:
#include
#include
#include
using namespace std;
int main()
if(temp > ans)
ans = temp;}}
cout << ans;
}
題目:
每一本正式出版的圖書都有乙個isbn號碼與之對應,isbn碼包括9位數字、1位識別碼和3位分隔符,其規定格式如「x-***-***xx-x」,其中符號「-」是分隔符(鍵盤上的減號),最後一位是識別碼,例如0-670-82162-4就是乙個標準的isbn碼。isbn碼的首位數字表示書籍的出版語言,例如0代表英語;第乙個分隔符「-」之後的三位數字代表出版社,例如670代表維京出版社;第二個分隔之後的五位數字代表該書在出版社的編號;最後一位為識別碼。
識別碼的計算方法如下:
首位數字乘以1加上次位數字乘以2……以此類推,用所得的結果mod 11,所得的餘數即為識別碼,如果餘數為10,則識別碼為大寫字母x。例如isbn號碼0-670-82162-4中的識別碼4是這樣得到的:對067082162這9個數字,從左至右,分別乘以1,2,…,9,再求和,即0×1+6×2+„„+2×9=158,然後取158 mod 11的結果4作為識別碼。
你的任務是編寫程式判斷輸入的isbn號碼中識別碼是否正確,如果正確,則僅輸出「right」;如果錯誤,則輸出你認為是正確的isbn號碼。
輸入只有一行,是乙個字串行,表示一本書的isbn號碼(保證輸入符合isbn號碼的格式要求)。
輸出共一行,假如輸入的isbn號碼的識別碼正確,那麼輸出「right」,否則,按照規定的格式,輸出正確的isbn號碼(包括分隔符「-」)。
樣例輸入樣例 #1:
0-670-82162-4
樣例 #2:
0-670-82162-0
樣例輸出思考與做題時遇到的錯誤:樣例 #1:
right
樣例 #2:
0-670-82162-4
字串分割,用乙個變數記錄當前已經分割了多少
注意字元和數字之間的轉換
審題一定要注意
**:
#include
#include
using namespace std;
int main()
}else
else
check = input[i]+0
-'0';}
}if(sum %
11== check)
cout <<
"right"
<< endl;
else
}
描述
編寫程式,讀入一行英文(只包含字母和空格,單詞間以單個空格分隔),將所有單詞的順序倒排並輸出,依然以單個空格分隔。
輸入輸入為乙個字串(字串長度至多為100)。
輸出輸出為按要求排序後的字串。
樣例輸入i am a student
樣例輸出思考與做題時遇到的錯誤:student a am i
按自己的方法分割的時候,注意字串的最後以為要單獨進行乙個加入處理
#include
#include
#include
using namespace std;
int main()
else}s
.push
(sub)
;//重要!!!這個地方老是忘記處理
while(!
s.empty()
)}
描述
輸入乙個句子(一行),將句子中的每乙個單詞翻轉後輸出。
輸入只有一行,為乙個字串,不超過500個字元。單詞之間以空格隔開。
輸出翻轉每乙個單詞後的字串,單詞之間的空格需與原文一致。
樣例輸入hello world
樣例輸出olleh drlow
#include
#include
using namespace std;
intmain()
}for
(int j = sub.
length()
-1;j >=
0;j --
) cout << sub[j]
;}
描述
輸入1行句子(不多於200個單詞,每個單詞長度不超過100),只包含字母、空格和逗號。單詞由至少乙個連續的字母構成,空格和逗號都是單詞間的間隔。
試輸出第1個最長的單詞和第1個最短單詞。
輸入一行句子。
輸出兩行輸出:
第1行,第乙個最長的單詞。
第2行,第乙個最短的單詞。
樣例輸入提示i am studying programming language c in peking university
樣例輸出
programming
i
如果所有單詞長度相同,那麼第乙個單詞既是最長單詞也是最短單詞。
思考與做題時遇到的錯誤:
substr(int start, int length) 函式第二個引數是字串的長度
字串操作時,如果是空格分割處理的,文字最後乙個片段容易不受處理,這時可在字串最後加乙個空格
表示空格字元,要用單引號,不是雙引號
#include
#include
using namespace std;
intmain()
else
if(end != start && end - start < minlen)
start = i +1;
//start儲存有效單詞的第一位
end = start;
//end儲存有效單詞的最後一位}}
cout << maxstr << endl << minstr << endl;
return0;
}
對字串String的測試練習
字串的測試練習,與君共勉!不要見笑.public class teststring public static void stringtest 判斷乙個字串在另乙個字元中第一次出現的位置 string sf a int index sa.indexof sf system.out.println 4...
字串基礎練習
判斷乙個字串是否有重複字元 思路 如果考慮用的是ascii碼,每個字元的大小在0 127之間 可以建立乙個陣列,長度為128 遍歷字串中的每個字元,將陣列中索引為該字元的ascii碼的位置加1。比如,如果字元是a,則將下標為97的位置加1,以標明字元出現的次數 如果陣列中有元素大於1,則字串有重複元...
華為機試練習題 3 分解字串
題目 按要求分解字串,輸入兩個數m,n m代表輸入的m串字串,n代表輸出的每串字串的位數,不夠補0。例如 輸入2,8,abc 123456789 則輸出為 abc00000 12345678 90000000 日期 2015 06 18 題目 分解字串 部落格 include include usi...