求助只有前五个能通过
  • 板块P5587 打字练习
  • 楼主swtt
  • 当前回复3
  • 已保存回复3
  • 发布时间2021/4/22 10:22
  • 上次更新2023/11/5 00:15:27
查看原帖
求助只有前五个能通过
473617
swtt楼主2021/4/22 10:22
#include <iostream>
#include <string>
using namespace std;
int main()
{
    string idol[10000], mediation;
    int rows = 0;
    char c;
    while (getline(cin, mediation))//分行读入范文
    {
        if (mediation == "EOF")//当单独一行EOF时结束
        {
            break;
        }
        for (int i = 0; i < mediation.length(); i++)//模拟删除
        {
            if (mediation[i] == '<')
            {
                if (i)//删除不在行开头
                {
                    mediation.erase(mediation.begin() + i - 1, mediation.begin() + i + 1);
                }
                else
                {
                    mediation.erase(mediation.begin() + i);
                }
            }
        }
        idol[rows] = idol[rows] + mediation;//分行写入范文
        rows++;//换行
    }

    int count = 0;//计数
    rows = 0;//重新从0行开始
    while (getline(cin, mediation))
    {
        if (mediation == "EOF")
        {
            break;
        }
        for (int i = 0; i < mediation.length(); i++)//模拟删除
        {
            if (mediation[i] == '<')
            {
                if (i)
                {
                    mediation.erase(mediation.begin() + i - 1, mediation.begin() + i + 1);
                }
                else
                {
                    mediation.erase(mediation.begin() + i);
                }
            }
        }
        for (int i = 0, j = 0; i < (idol[rows].length()) && j < (mediation.length()); i++, j++)
        {
            if (idol[rows][i] == mediation[j])//对比输入行与范文行的每个字
            {
                count++;
            }
        }
        rows++;//换行
    }
    int times;
    cin >> times;
    count = count / (times / 60.0) + 0.5;//计算kpm
    cout << count << endl;

    return 0;
}

2021/4/22 10:22
加载中...