Home>Article>Backend Development> How many ideas are there for converting uppercase and lowercase letters in C++?

How many ideas are there for converting uppercase and lowercase letters in C++?

烟雨青岚
烟雨青岚 Original
2020-06-10 14:30:05 5804browse

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:

How many ideas are there for converting uppercase and lowercase letters in C++?

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

#include  using 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

#include  using 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

#include  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; }

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!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn