华为笔试:计算字符个数

题目描述

写出一个程序,接受一个有字母和数字以及空格组成的字符串,和一个字符,然后输出输入字符串中含有该字符的个数。不区分大小写。

输入描述:

输入一个有字母和数字以及空格组成的字符串,和一个字符。

输出描述:

输出输入字符串中含有该字符的个数。

示例1

输入

ABCDEF A

输出

1

这道题可以说是非常简单了。但是ctype库确实可以多了解一下,有些时候空间可以节省很多时间isdigit(x):判断x是否为数字

isalnum() 用来判断一个字符是否为英文字母或数字,相当于 isalpha(c) || isdigit(c)

isalpha() 用来判断一个字符是否是英文字母,相当于 isupper(c)||islower(c)



 1 #include <iostream>
 2 #include <ctype.h>
 3 #include <cstring>
 4 #include <map>
 5 using namespace std;
 6 int main()
 7 {
 8     map<char, int> m;
 9     string str;
10     char x;
11     cin >> str >> x;
12     if(isalpha(x)) {
13         x = toupper(x);
14     }
15     for(int i = 0; i < str.length(); i++) {
16         if(isalpha(str[i])) {
17             str[i] = toupper(str[i]);
18             m[str[i]]++;
19         }
20     }
21     cout << m[x];
22  } 

 

原文地址:https://www.cnblogs.com/wzy-blogs/p/9160299.html

时间: 2024-08-06 09:14:20

华为笔试:计算字符个数的相关文章

华为OJ:计算字符个数

由于区分大写和小写,所以要用toUpperCase()和toLowerCase()两个函数同一时候与charAt得到的字符比較. import java.util.Scanner; public class countCharNumber { public static void main(String args[]){ Scanner input=new Scanner(System.in); String s=input.nextLine(); char c=input.next().cha

c语言判断是否是utf8字符串,计算字符个数

#include <stdio.h> #include <string.h> #include <stdlib.h> /**************************************************************************** Unicode符号范围 | UTF-8编码方式 (十六进制) | (二进制) 0000 0000-0000 007F:0xxxxxxx 0000 0080-0000 07FF:110xxxxx 10x

华为机试 计算字符个数

题目描述 写出一个程序,接受一个由字母和数字组成的字符串,和一个字符,然后输出输入字符串中含有该字符的个数.不区分大小写. 输入描述: 输入一个有字母和数字以及空格组成的字符串,和一个字符. 输出描述: 输出输入字符串中含有该字符的个数. 输入 ABCDEF A 输出 1 #include<iostream> #include<string.h> using namespace std; int main(){ string s; char ss; int count=0; cin

【华为机试练习】计算字符个数

题目描述写出一个程序,接受一个由字母和数字组成的字符串,和一个字符,然后输出输入字符串中含有该字符的个数.不区分大小写.输入描述:第一行输入一个有字母和数字以及空格组成的字符串,第二行输入一个字符.输出描述:输出输入字符串中含有该字符的个数. 解法(C语言版): #include<stdio.h> #include<string.h> #include<math.h> int main() { char str[10000]; char ch; int n, i, cn

计算字符个数

1 #include <stdio.h> 2 #include <string.h> 3 int main() 4 { 5 char st[1000]; 6 char ch; 7 int count = 0; 8 memset(st,0,sizeof(st)); 9 gets(st); 10 ch = getchar(); 11 if(ch >='a' && ch <='z') 12 ch = ch -'a'+'A'; 13 for(int i = 0;

1-2计算字符个数

题目描述 写出一个程序,接受一个有字母和数字以及空格组成的字符串,和一个字符,然后输出输入字符串中含有该字符的个数.不区分大小写. 输入描述: 输入一个有字母和数字以及空格组成的字符串,和一个字符. 输出描述: 输出输入字符串中含有该字符的个数. 输入例子: ABCDEF A 输出例子: 1代码: import java.util.*; public class Main{     public static int getCount(String s,String c){     int co

计算字符个数(回顾正则用法)

题目 写出一个程序,接受一个由字母和数字组成的字符串,和一个字符,然后输出输入字符串中含有该字符的个数.不区分大小写. 输入描述: 第一行输入一个有字母和数字以及空格组成的字符串,第二行输入一个字符. 输出描述: 输出输入字符串中含有该字符的个数. eg: 输入 ABCDEF A 输出 复制 1 解析 难度比较简单,复习一下正则表达式: let str = readline(); let char = readline(); function matchChar(str, char) { let

华为笔试:直角三角形个数

题目描述: 给定三角形周长p,求满足边长为整数且周长为p的直角三角形个数. 思路分析: 枚举的思想.首先想到就是利用一个双重循环: for(int i=1; i<p; i++) { for(int j=i; j<p; j++) { int k = p-i-j; if(i*i+j*j==k*k) ans++; } } 但这样是会超时的,通过数学方式做分析: i+j+k=p, 0<i<=j<k, 通过解不等式,可以得到:i<p/3, j<p/2. 在双重循环的基础上,

统计某个字符个数

path=/abc/bdc/dsa/gafasd/casdf 计算字符'/'个数 echo -n $path | tr '/' '\n' | wc -l echo -n $path | sed "s/[^/]//g" | wc -c echo $[ ${#path} - `expr length ${path///}`]