信息学奥赛一本通 1.5:数组(3)

这篇博客主要探讨C++语言中数组的使用,特别是字符类型和字符数组。讲解了包括统计数字字符个数、查找唯一字符、基因相关性分析等18个编程题目,旨在提升对字符串操作的理解和编程技巧。适合对编程感兴趣的四年级以上学生学习,采用线上小班教学,注重基础与实战结合。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

​第一部分 C++语言
第五章 数组
第三节 字符类型和字符数组
1129 统计数字字符个数
#include <iostream>
using namespace std;

int main() {
    char ch;
    int cnt = 0;

    while (cin >> ch) {
        if (ch >= '0' && ch <= '9') cnt ++;
    }

    cout << cnt << endl;

    return 0;
}
1130 找第一个只出现一次的字符
#include <iostream>
using namespace std;

int main() {
    string s;
    int a[26] = {};

    cin >> s;

    for (int i = 0; i < s.size(); i ++ ) {
        a[s[i]-'a'] ++;
    }

    for (int i = 0; i < s.size(); i ++ ) {
        if (a[s[i]-'a'] == 1) {
            cout << s[i] << endl;
            return 0;
        }
    }

    cout << "no" << endl;

    return 0;
}
1131 基因相关性
#include <iostream>
using namespace std;

int main() {
    double x;
    string a, b;
    int cnt = 0;

    cin >> x >> a >> b;

    for (int i = 0; i < a.size(); i ++ ) {
        if (a[i] == b[i]) cnt ++;
    }

    if (1.0*cnt/a.size() >= x) cout << "yes" << endl;
    else cout << "no" << endl;

    return 0;
}
1132 石头剪刀布
#include <iostream>
using namespace std;

int main() {
    int n;
    string p1,p2;

    cin >> n;

    while (n--) {
        cin >> p1 >> p2;
        if (p1 == p2) cout << "Tie" << endl;

        if (p1 == "Rock" && p2 == "Scissors") cout << "Player1" << endl;
        if (p1 == "Rock" && p2 == "Paper") cout << "Player2" << endl;

        if (p1 == "Scissors" && p2 == "Rock") cout << "Player2" << endl;
        if (p1 == "Scissors" && p2 == "Paper") cout << "Player1" << endl;

        if (p1 == "Paper" && p2 == "Scissors") cout << "Player2" << endl;
  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值