読者です 読者をやめる 読者になる 読者になる

プログラミング入門 2. 入力

資料

この記事は、下記プログラミング入門資料の一部です。

kenkoooo.hatenablog.com

入力

整数の入れ物 a に整数の入力を受け取るには

cin >> a;

とします。

これは入力がなされる前にaが作られている必要があるので、

#include <iostream>
using namespace std;
int main(void){
    // Here your code !
    
    // 整数の入れ物aを作る
    int a; 

    // 入力を受け取ってaに入れる
    cin >> a;

    // aの中身を出力する
    cout << a << endl; 
}

というように、先にaを作っておく必要があります。

練習問題

abc007.contest.atcoder.jp

練習問題の解説

入力されてきた数字から1を引いて出力すれば良さそうです。

入れ物の中身から1引くには、1少ない数を入れ直せば良いので、

a = a - 1;

というようになります。

ちょっと違和感があるかもしれませんが、例えばa=15の時は

a に a-1 を入れる。
↓
ところでa-1ってなんだろう?
↓
aは15だから、a-1は14だ!
↓
a に 14 を入れる。

というプロセスによって14が入る感じです。

というわけで、解答例は以下のようになります。

#include <iostream>
using namespace std;
int main(void){
    // Here your code !
    
    // 整数の入れ物aを作る
    int a; 

    // 入力を受け取ってaに入れる
    cin >> a;
    
    // aにa-1を入れる。すなわち、aを1少なくする。
    a = a - 1;

    // aの中身を出力する
    cout << a << endl; 
}

練習問題2

abc004.contest.atcoder.jp

練習問題2の解説

入力されてきた数字を2倍にして出力すれば良さそうです。

#include <iostream>
using namespace std;
int main(void){
    // Here your code !
    
    // 整数の入れ物aを作る
    int a; 

    // 入力を受け取ってaに入れる
    cin >> a;
    
    // aにa*2を入れる。すなわち、aを倍にする。
    a = a * 2;

    // aの中身を出力する
    cout << a << endl; 
}

練習問題3

abc005.contest.atcoder.jp

練習問題3の解説

xとyを受け取り、y/xを、小数点以下を切り捨てて出力すれば良さそうです。

2つ入力を受け取るので、あらかじめ整数の入れ物を2つ作っておきます。(xとy)

入力を受け取ったら、今度は回答用の整数の入れ物answerにy/xを入れておきます。この際、answerは整数専用の入れ物なので、y/xが割り切れなかった場合でも、小数点以下を切り捨ててくれます。

小数点以下を四捨五入したり、切り上げたりする場合は不適ですが、この問題の場合は切り捨てれば良いので、この操作で足ります。

#include <iostream>
using namespace std;
int main(void){
    // Here your code !
    
    // 整数の入れ物xを作る
    int x; 
    
    // 整数の入れ物yを作る
    int y; 

    // 入力を受け取ってxに入れる
    cin >> x;
    
    // 入力を受け取ってyに入れる
    cin >> y;
    
    // 回答用に整数の入れ物answerを作る
    int answer;
    
    // answerにy/xを入れる。
    //この時、answerは整数専用の入れ物なので小数点以下は切り捨てられる
    answer = y / x;

    // answerの中身を出力する
    cout << answer << endl; 
}

練習問題4

code-festival-2014-final-open.contest.atcoder.jp

練習問題4の解説

入力されてきたsに対して、50.0/sを出力すれば良さそうですが、今回は答えが小数になるという点に注意しなければなりません。

整数の入れ物は

int answer;

で作れました。

小数の入れ物は

double answer;

で作れます。

解答例は以下の通り。

#include <iostream>
using namespace std;
int main(void){
    // Here your code !
    
    // 整数の入れ物sを作る
    int s; 

    // 入力を受け取ってsに入れる
    cin >> s;
    
    //小数の入れ物answerをつくる
    double answer;

    // answerに50.0/tを入れておく
    answer = 50.0 / s;
    
    // answerの中身を出力する
    cout << answer << endl; 
}