大小写转化以及华为题做例子

英语字母的ASCII码为A-----Z:65------90;
而a-----------z为:97-----------122;
顺序递增
答案为 B;转换为十进制为:1*8*8+3*8+2=90 |||| (132) 8

/*由于不清楚C++字符串类的大小写转换的函数,只能将要比较的字符进行了转换*/
#include<iostream>
#include<string>


using namespace std;


int main(){
string input;
char target;
getline(cin, input);
cin >> target;
char target1;
if (target >= 65 && target <= 96)
target1 = target + 32;
if (target >= 97 && target <= 129)
target1 = target - 32;
int count = 0;
for (int i = 0; i<input.length(); ++i){
if (input[i] == target || input[i] == target1)
count++;
}
cout << count << endl;
return 0;
}





//优化 c++大小写转化
#include<iostream>
#include<string>
//#include<stdlib.h>


using namespace std;
int main()
{


string str;
char c;
getline(cin, str);

cin >> c;
int n = 0;
for (int i = 0; i<str.length(); i++)
{

if (tolower(c) == tolower(str[i]))
n++;
}


cout << n;


}

http://zhidao.baidu.com/link?url=Xuw_e_sQ1MD4xPV4QoxK3lcV7JnM6knoqeIXUOK5NnOBwWHenZv12yopfq6Jb0C9DgTPT8r-ZM6poh5aH1WJt_

http://zhidao.baidu.com/link?url=_u5t4RkDT1sZy1MPOCW-JXDlHQu6rAl2UIFreUFEwwuYNO5ASBKTRcTjka3JLfRsDZqINQsNJHVVliWZAV_tuK


这个是华为老牛网的题

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值