华为机试刷题记录(一)
计算某字符出现次数
写出一个程序,接受一个由字母、数字和空格组成的字符串,和一个字符,然后输出输入字符串中该字符的出现次数。(不区分大小写字母)
-
getline(cin,str) ,输入一个带有空格的字符串或字符数组
-
char c = tolower(getchar()) :输入转换为小写
注意:字母不区分大小写,可以把输入字符c变成小写,比较的时候,字符串s的字母也变成小写与输入字符c比较。
#include <algorithm>
#include <iostream>
#include <string>
using namespace std;
int main()
{
string s;
getline(cin, s);
char c = tolower(getchar());
int count=0;
for(int i= 0; i<s.size();i++)
{
if( tolower(s[i])==c)
{count++;}
}
cout<<count<<endl;
return 0;
}
进制转换
写出一个程序,接受一个十六进制的数,输出该数值的十进制表示。
hex:十六进制
dec:十进制
oct:八进制
#include<iostream>
using namespace std;
int main(){
int n = 0;
while(cin >> hex >> n) //hex表示读入十六进制数
cout << dec << n << endl; //dec表示输出十进制数
return 0;
}
字符串排序
给定 n 个字符串,请对 n 个字符串按照字典序排列。
sort:sort 可以按照字典序,对字符串(string类型 )排序。
vector:vctor容器用法
v.push_back(s):添加元素s
vector v:初始化,元素为字符串
#include<bits/stdc++.h>
using namespace std;
int main(){
int n;
cin >> n;
vector<string> v;
string s;
for(int i=0;i<n;i++){
cin >> s;
v.push_back(s);
}
sort(v.begin(),v.end());//利用sort函数进行排序
for(int i=0;i<n;i++)
cout<<v[i]<<endl;
return 0;
}