ACM刷題之路(七)字串處理 記元培ACM院賽

2022-09-08 12:06:08 字數 1842 閱讀 6640

時間限制(普通/j**a):1000ms/3000ms          執行記憶體限制:65536kbyte

總提交:320            測試通過:66

描述

最近在用安卓做畢業設計,用到的類名、方法名、變數名、常量名不下一百個,開始的時候**會在意這些命名的規則,拼音什麼的都出現了,但隨著名稱的增加,都分不清哪些是方法名,哪些是變數名,所以規範的命名對**的可讀性起到了至關重要的作用。下面介紹一下命名規範:

1、類(classes):採用大駝峰命名,每個單詞的首字母均應大寫。如mainactivity

2、方法(methods):採用小駝峰命名法,除了第乙個單詞首字母為小寫,其他單詞的首字母均為大寫。如setonclicklistener();

3、變數(variables)採用小駝峰命名法。如lastcustomer;

4、常量(constants)全部大寫,採用下劃線命名法。如flag_start;

輸入

輸入多組測試資料,每組測試資料報含一行,每行有若干個單詞組成,單詞之間用空格隔開,單詞字母都為小寫字母,每組至少存在兩個單詞(一行的字串總數不超過100個,每個字串中的字元總數不多於100個),其中第乙個單詞表示需要命名的型別,而後面的單詞則需要根據型別進行合併命名。

輸出

每組測試資料後面輸出一行,具體輸出格式見輸出樣例。

樣例輸入

classes main activity

methods set on click listener

variables last customer

constants flag start

樣例輸出

mainactivity

setonclicklistener()

lastcustomer

flag_start

此題為元培2015院賽a題:

一共有四種要求,根據每種要求暴力就可以。

要注意最前面、最後面、單詞中間可能有多個空格,且陣列為100*100.

ac**:

#include#includeusing namespace std;

char a[10002];

int main()

else if (cnt == 1 && a[i] != ' ')

else

}cout << endl;

}else if (a[0] == 'c')

else if (a[i] >= 'a' && a[i] <= 'z')

}cout << endl;

}else if (a[0] == 'm')

else if (cnt == 0 && a[i] <= 'z' && a[i] >= 'a')

else if (cnt == 1 && a[i - 1] == ' ')

else

printf("%c", a[i]);

}cout << "()" << endl;

}else

else if (cnt == 0 && a[i] <= 'z' && a[i] >= 'a')

else if (cnt == 1 && a[i - 1] == ' ')

else

printf("%c", a[i]);

}cout << endl;}}

return 0;

}

PAT刷題(一 字串處理)

大學期間專案做了不少,而在演算法題方面還是個小白。藉著考研機會,把pat甲級刷一遍,同時記錄一下心得。主要參考的是柳神的題解,略過了不會考或考的可能性很小的題。如果做法和題解不大一樣,就貼一下自己的 挺簡單的 畢竟第一題 熟悉了一下to string 的用法。原題鏈結 題解自己的做法複雜了 通過取餘...

Leetcode刷題 394字串解碼

題目 給定乙個經過編碼的字串,返回它解碼後的字串。編碼規則為 k encoded string 表示其中方括號內部的 encoded string 正好重複 k 次。注意 k 保證為正整數。你可以認為輸入字串總是有效的 輸入字串中沒有額外的空格,且輸入的方括號總是符合格式要求的。此外,你可以認為原始...

leetcode刷題 415 字串相加

給定兩個字串形式的非負整數 num1 和num2 計算它們的和。num1 和num2 的長度都小於 5100 num1 和num2 都只包含數字 0 9 num1 和num2 都不包含任何前導零 你不能使用任何內建 biginteger 庫,也不能直接將輸入的字串轉換為整數形式 標籤 字串 題目理解...