[蓝蓝计算机考研算法训练二期]-day04

86 阅读1分钟

7、计算字符的个数

写出一个程序,接受一个由字母、数字和空格组成的字符串,和一个字符,然后输出输入字符串中该字符的出现次数。(不区分大小写字母)

数据范围:1<=n<=1000

输入描述

第一行输入一个由字母、数字和空格组成的字符串,第二行输入一个字符(保证该字符不为空格)。

输出描述

输出输入字符串中含有该字符的个数。(不区分大小写字母)

示例1

输入:

输入:
ABCabc
A

输出:

2

思路

先读入一个字符串和一个字符,然后使用tolower函数将字符转换为小写,接着遍历字符串中的每个字符,如果当前字符转换为小写后与输入的字符相同,则计数器加1。最后输出计数器的值即可。

具体实现

#include <iostream>
using namespace std;

int main() {
    string s;
    char tip;
    char p[1000];
    getline(cin, s);
    cin >> tip;
    s.copy(p, s.length(), 0);
    int sum = 0;
    for(int i=0; i<s.length(); i++){
        if(p[i] == tip){
            sum++;
        }
        int n = p[i] - tip;
        if(n == 32 || n == -32){
            sum ++;
        }
    }

    cout << sum << endl;

    return 0;
}

小结

我讨厌字符串……

string a;
    getline(cin, a);
    char p[1000];
    a.copy(p, a.length(), 0);
    for(int i=0; i<a.length(); i++){
        cout << p[i]-'A' << endl;
    }