c++轉(zhuǎn)換字母大小寫(xiě)的方法有幾種?針對(duì)這個(gè)問(wèn)題,今天小編總結(jié)這篇有關(guān)字母大小寫(xiě)轉(zhuǎn)換的文章,希望能幫助更多想解決這個(gè)問(wèn)題的朋友找到更加簡(jiǎn)單易行的辦法。
創(chuàng)新互聯(lián)是一家專業(yè)從事做網(wǎng)站、成都網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司。作為專業(yè)網(wǎng)站建設(shè)公司,創(chuàng)新互聯(lián)依托的技術(shù)實(shí)力、以及多年的網(wǎng)站運(yùn)營(yíng)經(jīng)驗(yàn),為您提供專業(yè)的成都網(wǎng)站建設(shè)、營(yíng)銷型網(wǎng)站建設(shè)及網(wǎng)站設(shè)計(jì)開(kāi)發(fā)服務(wù)!C++簡(jiǎn)介:
C++是C語(yǔ)言的繼承,它既可以進(jìn)行C語(yǔ)言的過(guò)程化程序設(shè)計(jì),又可以進(jìn)行以抽象數(shù)據(jù)類型為特點(diǎn)的基于對(duì)象的程序設(shè)計(jì),還可以進(jìn)行以繼承和多態(tài)為特點(diǎn)的面向?qū)ο蟮某绦蛟O(shè)計(jì)。C++擅長(zhǎng)面向?qū)ο蟪绦蛟O(shè)計(jì)的同時(shí),還可以進(jìn)行基于過(guò)程的程序設(shè)計(jì),因而C++就適應(yīng)的問(wèn)題規(guī)模而論,大小由之。
C++不僅擁有計(jì)算機(jī)高效運(yùn)行的實(shí)用性特征,同時(shí)還致力于提高大規(guī)模程序的編程質(zhì)量與程序設(shè)計(jì)語(yǔ)言的問(wèn)題描述能力。
C++大小寫(xiě)字母轉(zhuǎn)換的思路有以下幾種:
思路1、根據(jù)字母的ASCII表進(jìn)行轉(zhuǎn)換:
由表格可以看出,對(duì)應(yīng)大小寫(xiě)字母之間相差32,由此可以衍生出以下編程的思路:
程序1.1
#include <iostream> using namespace std; int main() { char a[20]; int i = 0; cout<<"請(qǐng)輸入一串字符:\n"; cin>>a; for(;a[i];i++) { if(a[i] >= 'a'&&a[i] <= 'z') a[i] -= 32; else if(a[i] >= 'A'&&a[i] <= 'Z') a[i] += 32; } for(i = 0;a[i];i++) cout<<a[i]; cout<<endl; system("pause"); return 0; }
程序 1. 2
#include <iostream> using namespace std; void main(void) { char i; cout<<"Input,'#'for an end: "<<endl; while(1) { cin >> i; if ((i>=65)&&(i<=90)) { i=i+32; cout << i; } else if((i>=97)&&(i<=122)) { i=i-32; cout << i; } else cout << (int)i; if(i=='#') break; } }
思路2:利用大小寫(xiě)字母轉(zhuǎn)換函數(shù),由此可以衍生出以下幾種編程的思路:
程序2.1 簡(jiǎn)易版
#include <iostream> using namespace std; int main() { cout<<(char)toupper(97)<<'\n'; cout<<(char)toupper('a')<<'\n'; cout<<(char)tolower(66)<<'\n'; cout<<(char)tolower('B')<<'\n'; return 0; }
程序2.2 利用函數(shù)strupr、strlwr
#include<iostream> #include<string> using namespace std; int main() { //聲明字符數(shù)組 char str[80],*p; int i; //轉(zhuǎn)換字符串中的小寫(xiě)為大寫(xiě) cout<<"將字符串中的小寫(xiě)字母轉(zhuǎn)換為大寫(xiě)"<<endl; cout<<"請(qǐng)輸入原字符串:"<<endl; cin>>str; p=strupr(str); cout<<"p:"<<p<<endl; cout<<"string:"<<str<<endl; cout<<"___________________"<<endl; //轉(zhuǎn)換字符串中的大寫(xiě)為小寫(xiě) cout<<"將字符串中的大寫(xiě)字母轉(zhuǎn)換為小寫(xiě)"<<endl; cout<<"請(qǐng)輸入原字符串:"<<endl; cin>>str; p=strlwr(str); cout<<"p:"<<p<<endl; cout<<"string:"<<str<<endl; cout<<"___________________"<<endl; system("pause"); return 0; }
程序2.3 利用函數(shù)toupper、tolower
#include<iostream> #include<cctype> #include<vector> using namespace std; int main() { vector<char> vch; int n; char elem; cout<<"請(qǐng)輸入大小寫(xiě)字符的個(gè)數(shù):"; cin>>n; cout<<"請(qǐng)輸入"<<n<<"個(gè)大小寫(xiě)字符:"; for(int i = 0;i<n;++i) { cin>>elem; vch.push_back(elem); } vector<char>::iterator it = vch.begin(); for(it;it != vch.end();++it) { if(*it >= 'a'&&(*it) <='z') *it = toupper(*it); else if(*it >= 'A'&& (*it) <= 'Z') *it = tolower(*it); } cout<<"大小寫(xiě)轉(zhuǎn)化之后的結(jié)果:"; vector<char>::iterator itera = vch.begin(); for(itera;itera != vch.end();++itera) cout<<*itera; cout<<endl; return 0; }
程序2.4 利用transform和tolower及toupper進(jìn)行結(jié)合
#include<iostream> #include<algorithm> #include<string> #include<cctype> using namespace std; int main() { cout<<"請(qǐng)輸入一個(gè)全部大寫(xiě)的字符串:"; string str; cin>>str; ///轉(zhuǎn)小寫(xiě) transform(str.begin(),str.end(),str.begin(),tolower); ///transform(wstr.begin(), wstr.end(), wstr.begin(), towlower); cout<<"轉(zhuǎn)化為小寫(xiě)后為:"<<str<<endl; ///轉(zhuǎn)大寫(xiě) cout<<"請(qǐng)?jiān)佥斎胍粋€(gè)全部小寫(xiě)的字符串:"; string s; cin>>s; transform(s.begin(), s.end(), s.begin(), toupper); ///transform(wstr.begin(), wstr.end(), wstr.begin(), towupper); cout<<"轉(zhuǎn)化為大寫(xiě)后為:"<<s; wstring wstr =L"Abc"; transform(wstr.begin(), wstr.end(), wstr.begin(), towupper); cout<<wstr; return 0; }
程序2.5 寫(xiě)成convert函數(shù),利用|=和&=進(jìn)行變換
#include <iostream> #include <cassert> using namespace std; char* convert(char *src) { char *p = src; assert(p != NULL); while(*p) { if ('A' <= *p && *p < 'Z') *p |= 0x20; else if ('a' <= *p && *p < 'z') *p &= ~0x20; p++; } return src; } int main() { char src; cin>>src; convert(&src); cout<<src; return 0; }
看完上述內(nèi)容,你們掌握c++轉(zhuǎn)換字母大小寫(xiě)的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!
新聞標(biāo)題:c++轉(zhuǎn)換字母大小寫(xiě)的方法有幾種-創(chuàng)新互聯(lián)
本文地址:http://www.rwnh.cn/article32/igesc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化、響應(yīng)式網(wǎng)站、品牌網(wǎng)站建設(shè)、App開(kāi)發(fā)、電子商務(wù)、網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容