九韶杯-小明的作业



题目描述

小明同学正在学习一种新的语言。在该语言中,如果出现了一次wa或者一次aw,则代表出现了一个警告。如果出现了连续的wa或者连续的aw,则代表出现了一个错误。小明由于学习比较粗心,所以他想要知道自己刚刚写完的作业中一共出现了多少处警告和错误。下面是小明刚刚写完的作业,请你帮助小明找到他一共出现了多少次警告和多少次错误。

abcwaawawawa中出现了一次警告(wa)和一次错误(awawaw)
abcdefg中没有出现一次警告和错误
waawwaawwawa中出现了四次警告(两次wa和两次aw)和一次错误(wawa)
awawwawa中只出现了两次错误(awaw和wawa)

输入描述:

见备注

输出描述:

出现警告的次数
出现错误的次数

备注:

小明的作业如下:
iawaswapwauawhawdwafwanbiopwanivgbikvblvbwawawawvolyuvgbololvolgbyolgyowagbolgawgboplwawaolgyolwaogblwaygbowawagwabwayawopwawagyowabwaowapjwapcfrtuywawacvujwawawaufttyfuftywawawatifgugbgbyguwawawawayugbigwwwytigwygwgbwyoawawgoghwaogwborgrewabouyhwabyuhowabhnwawauygbawyawuwaoawfcawaaaahwaywauwagwawefwaafmbawklawjiawihnwanhawawawawijwajiofjeriofgjrefjhwaewarwaowagwahwauwaiwarwaiwaqwarwahwaqwawwaowapfweofbwewafwahwaiwaewawwawawawawafwawawawaeiufwepfhnewfwahwajwatwafowawajtokshwawafwaiwahwafwahmgoewawawawafkfjkewnwawafiewhfwawawafjkernhawkrenwawawawafujnrheiowanwakawawawawwanoifewajrwaoawawfweojnwawawawawawawafjkwenawawferkwmpwawawawaforeijawawferhfiueorghwuwafguwegfwaghrwiufgwahweofgowaidwiweaiwwawieyiwe
解析:直接按照题目要求来数,数的时候细心点就错不了。
代码写法如下,思路看注释
 
#include<iostream>
#include<algorithm>
#include<cstdio>
using namespace std;
int res1,res2;//res1代表警告,res2代表错误
string s="iawaswapwauawhawdwafwanbiopwanivgbikvblvbwawawawvolyuvgbololvolgbyolgyowagbolgawgboplwawaolgyolwaogblwaygbowawagwabwayawopwawagyowabwaowapjwapcfrtuywawacvujwawawaufttyfuftywawawatifgugbgbyguwawawawayugbigwwwytigwygwgbwyoawawgoghwaogwborgrewabouyhwabyuhowabhnwawauygbawyawuwaoawfcawaaaahwaywauwagwawefwaafmbawklawjiawihnwanhawawawawijwajiofjeriofgjrefjhwaewarwaowagwahwauwaiwarwaiwaqwarwahwaqwawwaowapfweofbwewafwahwaiwaewawwawawawawafwawawawaeiufwepfhnewfwahwajwatwafowawajtokshwawafwaiwahwafwahmgoewawawawafkfjkewnwawafiewhfwawawafjkernhawkrenwawawawafujnrheiowanwakawawawawwanoifewajrwaoawawfweojnwawawawawawawafjkwenawawferkwmpwawawawaforeijawawferhfiueorghwuwafguwegfwaghrwiufgwahweofgowaidwiweaiwwawieyiwe";
//用字符串来存储
int main() 
{
    for(int i=0;i<s.size();)//s.size()读取s的长度 
    {
        if(s[i]=='w'&&s[i+1]=='a')
        {
            i+=2;
            int flag=1;
            while(s[i]=='w'&&s[i+1]=='a')//判断是不是连续的wawa 
            {
                i+=2;
                flag=0;//flag=0表示是连续的wa,即为错误,res2++; 
            }
            if(flag) res1++;
            else res2++;
            
        }
        else if(s[i]=='a'&&s[i+1]=='w')
        {
            i+=2;
            int flag=1;
            while(s[i]=='a'&&s[i+1]=='w')
            {
                i+=2;
                flag=0;
            }
            if(flag) res1++;
            else res2++;
        }
        else
        {
            i++;
        }
     }
     cout<<res1<<endl<<res2;
     return 0; 
}

 

 
posted @ 2021-04-11 19:13  只配吃三碗饭  阅读(269)  评论(0)    收藏  举报