Rumah pembangunan bahagian belakang Tutorial C#.Net c++大小写字母转换的思路有几种?

c++大小写字母转换的思路有几种?

Jun 10, 2020 pm 02:30 PM
c++

c++大小写字母转换的思路有几种?

C++简介:

C++是C语言的继承,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。C++擅长面向对象程序设计的同时,还可以进行基于过程的程序设计,因而C++就适应的问题规模而论,大小由之。

C++不仅拥有计算机高效运行的实用性特征,同时还致力于提高大规模程序的编程质量与程序设计语言的问题描述能力。

C++大小写字母转换的思路有以下几种:

思路1、根据字母的ASCII表进行转换:

20160416123048063.jpg

由表格可以看出,对应大小写字母之间相差32,由此可以衍生出以下编程的思路:

程序1.1

#include <iostream>
using namespace std;
int main()
{
	char a[20];
	int i = 0;
	cout<<"请输入一串字符:\n";
	cin>>a;
	for(;a[i];i++)
	{
		if(a[i] >= &#39;a&#39;&&a[i] <= &#39;z&#39;)
            a[i] -= 32;
		else if(a[i] >= &#39;A&#39;&&a[i] <= &#39;Z&#39;)
            a[i] += 32;
	}
	for(i = 0;a[i];i++)
		cout<<a[i];
	cout<<endl;
	system("pause");
	return 0;
}
Salin selepas log masuk

程序 1. 2

#include <iostream>
using namespace std;
void main(void)
{
    char i;
    cout<<"Input,&#39;#&#39;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==&#39;#&#39;)
            break;
    }
}
Salin selepas log masuk

思路2:利用大小写字母转换函数,由此可以衍生出以下几种编程的思路:

程序2.1 简易版

#include <iostream>
using namespace std;
int main()
{
    cout<<(char)toupper(97)<<&#39;\n&#39;;
    cout<<(char)toupper(&#39;a&#39;)<<&#39;\n&#39;;
    cout<<(char)tolower(66)<<&#39;\n&#39;;
    cout<<(char)tolower(&#39;B&#39;)<<&#39;\n&#39;;
    return 0;
}
Salin selepas log masuk

程序2.2 利用函数strupr、strlwr

#include<iostream>
#include<string>
using namespace std;
int main()
{
    //声明字符数组
    char str[80],*p;
    int i;
    //转换字符串中的小写为大写
    cout<<"将字符串中的小写字母转换为大写"<<endl;
    cout<<"请输入原字符串:"<<endl;
    cin>>str;
    p=strupr(str);
    cout<<"p:"<<p<<endl;
    cout<<"string:"<<str<<endl;
    cout<<"___________________"<<endl;
    //转换字符串中的大写为小写
    cout<<"将字符串中的大写字母转换为小写"<<endl;
    cout<<"请输入原字符串:"<<endl;
    cin>>str;
    p=strlwr(str);
    cout<<"p:"<<p<<endl;
    cout<<"string:"<<str<<endl;
    cout<<"___________________"<<endl;
system("pause");
return 0;
 
}
Salin selepas log masuk

程序2.3 利用函数toupper、tolower

#include<iostream>
#include<cctype>
#include<vector>
using namespace std;
int main()
{
    vector<char> vch;
    int n;
    char elem;
    cout<<"请输入大小写字符的个数:";
    cin>>n;
    cout<<"请输入"<<n<<"个大小写字符:";
    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 >= &#39;a&#39;&&(*it) <=&#39;z&#39;)
            *it = toupper(*it);
        else if(*it >= &#39;A&#39;&& (*it) <= &#39;Z&#39;)
            *it = tolower(*it);
    }
    cout<<"大小写转化之后的结果:";
    vector<char>::iterator itera = vch.begin();
    for(itera;itera != vch.end();++itera)
        cout<<*itera;
    cout<<endl;
    return 0;
}
Salin selepas log masuk

程序2.4 利用transform和tolower及toupper进行结合

#include<iostream>
#include<algorithm>
#include<string>
#include<cctype>
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<<"转化为小写后为:"<<str<<endl;
    ///转大写
    cout<<"请再输入一个全部小写的字符串:";
    string s;
    cin>>s;
    transform(s.begin(), s.end(), s.begin(), toupper);
    ///transform(wstr.begin(), wstr.end(), wstr.begin(), towupper);
    cout<<"转化为大写后为:"<<s;
    wstring wstr =L"Abc";
    transform(wstr.begin(), wstr.end(), wstr.begin(), towupper);
    cout<<wstr;
    return 0;
}
Salin selepas log masuk

程序2.5 写成convert函数,利用|=和&=进行变换

#include <iostream>
#include <cassert>
using namespace std;
char* convert(char *src)
{
    char *p = src;
    assert(p != NULL);
    while(*p)
    {
        if (&#39;A&#39; <= *p && *p < &#39;Z&#39;)
            *p |= 0x20;
        else if (&#39;a&#39; <= *p && *p < &#39;z&#39;)
            *p &= ~0x20;
        p++;
    }
    return src;
}
int main()
{
    char src;
    cin>>src;
    convert(&src);
    cout<<src;
    return 0;
}
Salin selepas log masuk

推荐教程:《C语言教程

Atas ialah kandungan terperinci c++大小写字母转换的思路有几种?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk melaksanakan Corak Reka Bentuk Strategi dalam C++? Bagaimana untuk melaksanakan Corak Reka Bentuk Strategi dalam C++? Jun 06, 2024 pm 04:16 PM

Langkah-langkah untuk melaksanakan corak strategi dalam C++ adalah seperti berikut: tentukan antara muka strategi dan isytiharkan kaedah yang perlu dilaksanakan. Buat kelas strategi khusus, laksanakan antara muka masing-masing dan sediakan algoritma yang berbeza. Gunakan kelas konteks untuk memegang rujukan kepada kelas strategi konkrit dan melaksanakan operasi melaluinya.

Persamaan dan Perbezaan antara Golang dan C++ Persamaan dan Perbezaan antara Golang dan C++ Jun 05, 2024 pm 06:12 PM

Golang dan C++ masing-masing adalah sampah yang dikumpul dan bahasa pengaturcaraan pengurusan memori manual, dengan sistem sintaks dan jenis yang berbeza. Golang melaksanakan pengaturcaraan serentak melalui Goroutine, dan C++ melaksanakannya melalui benang. Pengurusan memori Golang adalah mudah, dan C++ mempunyai prestasi yang lebih kukuh. Dalam kes praktikal, kod Golang adalah lebih ringkas dan C++ mempunyai kelebihan prestasi yang jelas.

Bagaimana untuk melaksanakan pengendalian pengecualian bersarang dalam C++? Bagaimana untuk melaksanakan pengendalian pengecualian bersarang dalam C++? Jun 05, 2024 pm 09:15 PM

Pengendalian pengecualian bersarang dilaksanakan dalam C++ melalui blok try-catch bersarang, membenarkan pengecualian baharu dibangkitkan dalam pengendali pengecualian. Langkah-langkah cuba-tangkap bersarang adalah seperti berikut: 1. Blok cuba-tangkap luar mengendalikan semua pengecualian, termasuk yang dilemparkan oleh pengendali pengecualian dalam. 2. Blok cuba-tangkap dalam mengendalikan jenis pengecualian tertentu, dan jika pengecualian luar skop berlaku, kawalan diberikan kepada pengendali pengecualian luaran.

Bagaimana untuk mengulangi bekas C++ STL? Bagaimana untuk mengulangi bekas C++ STL? Jun 05, 2024 pm 06:29 PM

Untuk lelaran ke atas bekas STL, anda boleh menggunakan fungsi begin() dan end() bekas untuk mendapatkan julat lelaran: Vektor: Gunakan gelung for untuk lelaran ke atas julat lelaran. Senarai terpaut: Gunakan fungsi ahli seterusnya() untuk melintasi elemen senarai terpaut. Pemetaan: Dapatkan iterator nilai kunci dan gunakan gelung for untuk melintasinya.

Bagaimana untuk menggunakan warisan templat C++? Bagaimana untuk menggunakan warisan templat C++? Jun 06, 2024 am 10:33 AM

Warisan templat C++ membenarkan kelas terbitan templat menggunakan semula kod dan kefungsian templat kelas asas, yang sesuai untuk mencipta kelas dengan logik teras yang sama tetapi gelagat khusus yang berbeza. Sintaks warisan templat ialah: templateclassDerived:publicBase{}. Contoh: templateclassBase{};templateclassDerived:publicBase{};. Kes praktikal: Mencipta kelas terbitan Derived, mewarisi fungsi mengira Base kelas asas, dan menambah kaedah printCount untuk mencetak kiraan semasa.

Mengapa ralat berlaku semasa memasang pelanjutan menggunakan PECL dalam persekitaran Docker? Bagaimana menyelesaikannya? Mengapa ralat berlaku semasa memasang pelanjutan menggunakan PECL dalam persekitaran Docker? Bagaimana menyelesaikannya? Apr 01, 2025 pm 03:06 PM

Punca dan penyelesaian untuk kesilapan Apabila menggunakan PECL untuk memasang sambungan dalam persekitaran Docker Apabila menggunakan persekitaran Docker, kami sering menemui beberapa sakit kepala ...

Bagaimana untuk mengakses elemen dalam bekas C++ STL? Bagaimana untuk mengakses elemen dalam bekas C++ STL? Jun 05, 2024 pm 06:04 PM

Bagaimana untuk mengakses elemen dalam bekas C++ STL? Terdapat beberapa cara untuk melakukan ini: Melintasi bekas: Gunakan lelaran Berasaskan julat untuk gelung untuk mengakses elemen tertentu: Gunakan indeks (pengendali subskrip []) Gunakan kekunci (std::map atau std::unordered_map)

Apakah peranan char dalam c strings Apakah peranan char dalam c strings Apr 03, 2025 pm 03:15 PM

Dalam C, jenis char digunakan dalam rentetan: 1. Simpan satu watak; 2. Gunakan array untuk mewakili rentetan dan berakhir dengan terminator null; 3. Beroperasi melalui fungsi operasi rentetan; 4. Baca atau output rentetan dari papan kekunci.

See all articles