信息学奥赛一本通 1138:将字符串中的小写字母转换成大写字母 | OpenJudge NOI 1.7 13
生活随笔
收集整理的這篇文章主要介紹了
信息学奥赛一本通 1138:将字符串中的小写字母转换成大写字母 | OpenJudge NOI 1.7 13
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
【題目鏈接】
ybt 1138:將字符串中的小寫字母轉(zhuǎn)換成大寫字母
OpenJudge NOI 1.7 13:將字符串中的小寫字母轉(zhuǎn)換成大寫字母
【題目考點(diǎn)】
1. 字符串處理
2. ASCII碼
【解題思路】
方法1:看字符的ASCII碼是否在特定區(qū)間:c >= 'a' && c <= 'z'
方法2:使用<cctype> 中的函數(shù) islower(c)
字符c表示一個(gè)字母
大寫轉(zhuǎn)小寫:c = c - 'A' + 'a' 或 tolower(c)
小寫轉(zhuǎn)大寫:c = c - 'a' + 'A' 或 toupper(c)
其中tolower(),toupper()是<cctype>中的函數(shù)
【題解代碼】
解法1:用字符數(shù)組,字符區(qū)間
#include <bits/stdc++.h> using namespace std; int main() {char s[105];cin.get(s, 105);int len = strlen(s);for(int i = 0; i < len; ++i){if(s[i] >= 'a' && s[i] <= 'z')s[i] = s[i] + 'A' - 'a';}cout<<s;return 0; }解法2:用string類,<cctype>中的函數(shù)
#include <bits/stdc++.h> using namespace std; int main() {string s;getline(cin, s);for(int i = 0; i < s.length(); ++i){if(islower(s[i]))s[i] = toupper(s[i]);}cout<<s;return 0; }總結(jié)
以上是生活随笔為你收集整理的信息学奥赛一本通 1138:将字符串中的小写字母转换成大写字母 | OpenJudge NOI 1.7 13的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 信息学奥赛一本通 1020:打印ASCI
- 下一篇: 信息学奥赛一本通(1239:统计数字)