无码av一区二区三区无码,在线观看老湿视频福利,日韩经典三级片,成 人色 网 站 欧美大片在线观看

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

C++信息競賽例題解析——字符串

2020-10-16 22:57 作者:非知名科技區(qū)UP  | 我要投稿

最近我們剛講了C++字符串的應(yīng)用。有一道例題,我印象很深。

題目來源于noi.openjudge.cn

對于我個人來說,這道題有幾個難點:

  1. 程序中如何才能定位每一行的第一個字符并且確認(rèn)其大小寫?

  2. 如何才能把所有的“藥品名”用一個string包含進(jìn)去?

初次寫的程序

針對第一個問題,準(zhǔn)備利用cin的特性來解決。如圖7-11行。當(dāng)我們回車的時候,a也會隨之增加,如此我們就可以將藥品名稱逐一分別存儲了。

在改寫字母大小寫的欄目里,我使用了雙重循環(huán)。第一個判定就把首字母的大小寫完美解決了。而針對需要全部小寫的其他字母,我在下面的if里面逐個判定更正,為了防止在查找大寫字母時把頭個字母變成小寫,我就將13行的b直接賦值為1,避開首字母的位置medicine[a][0],理論上這樣就完美了。

?但是

到了這里又是一個難點:特殊情況。

我也是百思不得其解,直到我嘗試著只輸入一個字母的時候,問題出現(xiàn)了(話說哪有一個字母的藥名?。?/p>

根本沒有轉(zhuǎn)換大小寫

然后我才意識到了:當(dāng)前面的“kind變量等于1的時候,整個13-19行的for循環(huán)根本不會執(zhí)行!也就沒有大小寫的轉(zhuǎn)換了。要想克服這種情況,13行b的賦值必須是0。到最后,我的解決方案是這樣 的:

注意我在13行for和16行if條件的改動

到最后,程序終于通過。


C++信息競賽例題解析——字符串的評論 (共 條)

分享到微博請遵守國家法律
浮梁县| 六枝特区| 临清市| 鹿泉市| 栖霞市| 正阳县| 疏附县| 桐庐县| 南澳县| 剑阁县| 廊坊市| 南平市| 永胜县| 榆社县| 宜川县| 彩票| 酒泉市| 赣榆县| 广水市| 江永县| 弋阳县| 盘山县| 克山县| 红原县| 体育| 正定县| 黔江区| 渭源县| 布尔津县| 哈尔滨市| 宁乡县| 泸州市| 永嘉县| 华亭县| 峨山| 呼图壁县| 长宁区| 罗定市| 苏州市| 吴旗县| 凌海市|