c++轉(zhuǎn)換字母大小寫的方法有幾種?針對(duì)這個(gè)問題,今天小編總結(jié)這篇有關(guān)字母大小寫轉(zhuǎn)換的文章,希望能幫助更多想解決這個(gè)問題的朋友找到更加簡(jiǎn)單易行的辦法。
成都創(chuàng)新互聯(lián)從2013年成立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目網(wǎng)站建設(shè)、成都網(wǎng)站制作網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元龍巖做網(wǎng)站,已為上家服務(wù),為龍巖各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:028-86922220
C++簡(jiǎn)介:
C++是C語言的繼承,它既可以進(jìn)行C語言的過程化程序設(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)行基于過程的程序設(shè)計(jì),因而C++就適應(yīng)的問題規(guī)模而論,大小由之。
C++不僅擁有計(jì)算機(jī)高效運(yùn)行的實(shí)用性特征,同時(shí)還致力于提高大規(guī)模程序的編程質(zhì)量與程序設(shè)計(jì)語言的問題描述能力。
C++大小寫字母轉(zhuǎn)換的思路有以下幾種:
思路1、根據(jù)字母的ASCII表進(jìn)行轉(zhuǎn)換:
由表格可以看出,對(duì)應(yīng)大小寫字母之間相差32,由此可以衍生出以下編程的思路:
程序1.1
#includeusing 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< 程序 1. 2
#includeusing namespace std; void main(void) { char i; cout<<"Input,'#'for an end: "< > 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:利用大小寫字母轉(zhuǎn)換函數(shù),由此可以衍生出以下幾種編程的思路:
程序2.1 簡(jiǎn)易版
#includeusing 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#include using namespace std; int main() { //聲明字符數(shù)組 char str[80],*p; int i; //轉(zhuǎn)換字符串中的小寫為大寫 cout<<"將字符串中的小寫字母轉(zhuǎn)換為大寫"< >str; p=strupr(str); cout<<"p:"< >str; p=strlwr(str); cout<<"p:"<
程序2.3 利用函數(shù)toupper、tolower
#include#include #include using namespace std; int main() { vector vch; int n; char elem; cout<<"請(qǐng)輸入大小寫字符的個(gè)數(shù):"; cin>>n; cout<<"請(qǐng)輸入"< >elem; vch.push_back(elem); } vector ::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<<"大小寫轉(zhuǎn)化之后的結(jié)果:"; vector ::iterator itera = vch.begin(); for(itera;itera != vch.end();++itera) cout<<*itera; cout< 程序2.4 利用transform和tolower及toupper進(jìn)行結(jié)合
#include#include #include #include using namespace std; int main() { cout<<"請(qǐng)輸入一個(gè)全部大寫的字符串:"; string str; cin>>str; ///轉(zhuǎn)小寫 transform(str.begin(),str.end(),str.begin(),tolower); ///transform(wstr.begin(), wstr.end(), wstr.begin(), towlower); cout<<"轉(zhuǎn)化為小寫后為:"< >s; transform(s.begin(), s.end(), s.begin(), toupper); ///transform(wstr.begin(), wstr.end(), wstr.begin(), towupper); cout<<"轉(zhuǎn)化為大寫后為:"< 程序2.5 寫成convert函數(shù),利用|=和&=進(jìn)行變換
#include#include 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< 看完上述內(nèi)容,你們掌握c++轉(zhuǎn)換字母大小寫的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!
網(wǎng)頁題目:c++轉(zhuǎn)換字母大小寫的方法有幾種
網(wǎng)頁鏈接:http://weahome.cn/article/jgjsod.html