Home>Article>Backend Development> How many ideas are there for converting uppercase and lowercase letters in C++?
C Introduction:
C is the inheritance of C language. It can not only perform procedural programming of C language, but also perform other tasks. Object-based programming characterized by abstract data types can also be used for object-oriented programming characterized by inheritance and polymorphism. While C is good at object-oriented programming, it can also perform process-based programming. Therefore, C is big or small in terms of the size of the problem it can adapt to.
C not only has the practical features of efficient computer operation, but is also committed to improving the programming quality of large-scale programs and the problem description capabilities of programming languages.
C There are several ideas for converting uppercase and lowercase letters:
Idea 1. Convert according to the ASCII table of letters:
As can be seen from the table, the difference between the corresponding uppercase and lowercase letters is 32, from which the following programming ideas can be derived:
Program 1.1
#includeusing namespace std; int main() { char a[20]; int i = 0; cout<<"请输入一串字符:\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< Program 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; } } Idea 2: Using the uppercase and lowercase letter conversion function, the following programming ideas can be derived from this:
Program 2.1 Simple version
#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; } Program 2.2 Utilize functions strupr, strlwr
#include#include using namespace std; int main() { //声明字符数组 char str[80],*p; int i; //转换字符串中的小写为大写 cout<<"将字符串中的小写字母转换为大写"< >str; p=strupr(str); cout<<"p:"< >str; p=strlwr(str); cout<<"p:"<
Program 2.3 Utilize functions toupper, tolower
#include#include #include using namespace std; int main() { vector vch; int n; char elem; cout<<"请输入大小写字符的个数:"; cin>>n; cout<<"请输入"< >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<<"大小写转化之后的结果:"; vector ::iterator itera = vch.begin(); for(itera;itera != vch.end();++itera) cout<<*itera; cout< Program 2.4 Use transform with tolower and toupper to combine
#include#include #include #include using namespace std; int main() { cout<<"请输入一个全部大写的字符串:"; string str; cin>>str; ///转小写 transform(str.begin(),str.end(),str.begin(),tolower); ///transform(wstr.begin(), wstr.end(), wstr.begin(), towlower); cout<<"转化为小写后为:"< >s; transform(s.begin(), s.end(), s.begin(), toupper); ///transform(wstr.begin(), wstr.end(), wstr.begin(), towupper); cout<<"转化为大写后为:"< Program 2.5 is written as a convert function, using |= and &= to transform
#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< Recommended tutorial: "C Language Tutorial"
The above is the detailed content of How many ideas are there for converting uppercase and lowercase letters in C++?. For more information, please follow other related articles on the PHP Chinese website!