第3回オフラインリアルタイムどう書くの参考問題をC++の練習に使ってみた
プログラムはやはり何かを作ろうとしないと覚えられない。
ということで、オフラインリアルタイムどう書くのこの問題がC++の練習にほど良いレベルだったので書いてみました。
問題はこちら
BallCount.cpp
#include <stdio.h>
#include <iostream>
#include <cstring>
int main(){
std::string input;
char result[10];
char ch[10];
int out,strike,ball;
std::cin >> input;
int len = input.size();
for(int i = 0; i < len; i++){
strcpy(ch, input.substr(i, 1).c_str());
switch(ch[0]){
case 's':
strike++;
if(strike > 2){
strike = 0;
out++;
}
break;
case 'b':
ball++;
if(ball > 3){
strike = 0;
ball = 0;
}
break;
case 'f':
if(strike < 2){
strike++;
}
break;
case 'h':
strike = 0;
ball = 0;
break;
case 'p':
strike = 0;
ball = 0;
out++;
break;
default:
break;
}
// アウトの数をカウント
if(out > 2){
out = 0;
strike = 0;
ball = 0;
}
// 結果出力
std::cout << out;
std::cout << strike;
std::cout << ball;
if(i != len - 1){
std::cout << ",";
}
}
std::cout << "\n";
return 0;
}
実行
$ g++ -o BallCount BallCount.cpp
$ ./BallCount
sssbbbbsbhsbppp
010,020,100,101,102,103,100,110,111,100,110,111,200,000,100
Author And Source
この問題について(第3回オフラインリアルタイムどう書くの参考問題をC++の練習に使ってみた), 我々は、より多くの情報をここで見つけました https://qiita.com/monhan/items/56ae57caa9fbc236414e著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .