寝癖頭の解法

学習中の覚え書きを投稿、更新していきます。

C言語による簡単な計算機

C言語による簡単な計算機です。
2つの整数と1つの演算子から、四則演算の結果を出力するプログラムです。

・問題
 2つの整数 a, b と1つの演算子 op を読み込んで、a op b を計算するプログラムを作成して下さい。
 ただし、演算子 op は、"+"(和)、"-"(差)、"*"(積)、"/"(商)、のみとし、割り算で割り切れない場合は、小数点以下を切り捨てたものを計算結果とします。

・入力される値
 入力は複数のデータセットから構成されています。各データセットの形式は以下のとおりです:
   a op b
 op が '?' のとき 入力の終わりを示します。
 このケースの出力は行ってはいけません。

・期待する出力
 各データセットについて、計算結果を1行に出力して下さい。

・条件
 0 ≤ a, b ≤ 20000
 0 による割り算が与えられることはありません。

僕が作成、提出したコードは、以下のとおりです。

/*
 ITP1_4_C : Simple Calculator
 http://judge.u-aizu.ac.jp/
 C言語による簡単な計算機
 https://neguse-atama.hatenablog.com
*/
#include<stdio.h>
int main(void){
    int a,b;
    char op;
    while(1){
        scanf("%d %c %d",&a,&op,&b);
        if(op=='+'){
            printf("%d\n",a+b);
        }else if(op=='-'){
            printf("%d\n",a-b);
        }else if(op=='*'){
            printf("%d\n",a*b);
        }else if(op=='/'){
            printf("%d\n",a/b);
        }else if(a==0 || b==0){
            break;
        }else if(op=='?'){
            break;
        }
    }
    return 0;
}

設問の出典は、プログラミング問題のオンライン採点システム「Aizu Online Judge(AOJ)」です。
http://judge.u-aizu.ac.jp/onlinejudge/
ITP1_4_C : Simple Calculator