中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

c++轉(zhuǎn)換字母大小寫(xiě)的方法有幾種-創(chuàng)新互聯(lián)

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)換:

c++轉(zhuǎn)換字母大小寫(xiě)的方法有幾種

由表格可以看出,對(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)

網(wǎng)站托管運(yùn)營(yíng)
凉山| 封丘县| 昌黎县| 鞍山市| 黄梅县| 阿拉尔市| 鹤壁市| 永春县| 嘉峪关市| 宁阳县| 华容县| 周宁县| 奎屯市| 崇文区| 禹州市| 神池县| 图木舒克市| 静安区| 望都县| 京山县| 闸北区| 平邑县| 全椒县| 滕州市| 阿勒泰市| 通辽市| 邵东县| 龙泉市| 张家口市| 和平区| 会东县| 弥渡县| 清镇市| 北票市| 探索| 太仓市| 茂名市| 加查县| 云浮市| 南安市| 沁水县|