#include<stdio.h>
int addition(int a, int b)
{
int result=a+b;
return result;}
int subtract(int a, int b)
{
int result=a-b;
return result;}
int multiply(int a, int b)
{
int result=a*b;
return result;}
float division(float a, float b)
{
float result=a/b;
return result;}
int modulus(int a, int b)
{
int result=a%b;
return result;}
int main()
{
int a, b;
char op;
while (1)
{
if(a==0&&b==0)return 0;
switch(op){
case '+':
printf("%d%c%d = %d\n\n",a
,op
,b
,addition
(a
,b
));break; case '-':
printf("%d%c%d = %d\n\n",a
,op
,b
,subtract
(a
,b
));break; case '*':
printf("%d%c%d = %d\n\n",a
,op
,b
,multiply
(a
,b
));break; case '/':
printf("%d%c%d = %0.2f\n\n",a
,op
,b
,division
(a
,b
));break; case '%':
printf("%d%c%d = %d\n\n",a
,op
,b
,modulus
(a
,b
));break; default: printf("Invalid input\n\n");break;}
}
return 0;}
I2luY2x1ZGU8c3RkaW8uaD4KCmludCBhZGRpdGlvbihpbnQgYSwgaW50IGIpCnsKICAgIGludCByZXN1bHQ9YStiOwoKcmV0dXJuIHJlc3VsdDt9CgppbnQgc3VidHJhY3QoaW50IGEsIGludCBiKQp7CiAgICBpbnQgcmVzdWx0PWEtYjsKCnJldHVybiByZXN1bHQ7fQoKaW50IG11bHRpcGx5KGludCBhLCBpbnQgYikKewogICAgaW50IHJlc3VsdD1hKmI7CgpyZXR1cm4gcmVzdWx0O30KCmZsb2F0IGRpdmlzaW9uKGZsb2F0IGEsIGZsb2F0IGIpCnsKICAgIGZsb2F0IHJlc3VsdD1hL2I7CgpyZXR1cm4gcmVzdWx0O30KCmludCBtb2R1bHVzKGludCBhLCBpbnQgYikKewogICAgaW50IHJlc3VsdD1hJWI7CgpyZXR1cm4gcmVzdWx0O30KCmludCBtYWluKCkKewogICAgaW50IGEsIGI7CiAgICBjaGFyIG9wOwogICAgd2hpbGUgKDEpCiAgICB7CiAgICAgICAgcHJpbnRmKCJFbnRlciBhOiAiKTsgc2NhbmYoIiVkIiwmYSk7CiAgICAgICAgcHJpbnRmKCJFbnRlciBiOiAiKTsgc2NhbmYoIiVkIiwmYik7CiAgICAgICAgaWYoYT09MCYmYj09MClyZXR1cm4gMDsKICAgICAgICBwcmludGYoIkVudGVyIE9wZXJhdGlvbjogIik7CiAgICAgICAgZ2V0Y2hhcigpO3NjYW5mKCIlYyIsJm9wKTsKICAgICAgICBzd2l0Y2gob3ApewogICAgICAgIGNhc2UgJysnOgogICAgICAgICAgICBwcmludGYoIiVkJWMlZCA9ICVkXG5cbiIsYSxvcCxiLGFkZGl0aW9uKGEsYikpO2JyZWFrOwogICAgICAgIGNhc2UgJy0nOgogICAgICAgICAgICBwcmludGYoIiVkJWMlZCA9ICVkXG5cbiIsYSxvcCxiLHN1YnRyYWN0KGEsYikpO2JyZWFrOwogICAgICAgIGNhc2UgJyonOgogICAgICAgICAgICBwcmludGYoIiVkJWMlZCA9ICVkXG5cbiIsYSxvcCxiLG11bHRpcGx5KGEsYikpO2JyZWFrOwogICAgICAgIGNhc2UgJy8nOgogICAgICAgICAgICBwcmludGYoIiVkJWMlZCA9ICUwLjJmXG5cbiIsYSxvcCxiLGRpdmlzaW9uKGEsYikpO2JyZWFrOwogICAgICAgIGNhc2UgJyUnOgogICAgICAgICAgICBwcmludGYoIiVkJWMlZCA9ICVkXG5cbiIsYSxvcCxiLG1vZHVsdXMoYSxiKSk7YnJlYWs7CiAgICAgICAgICAgIGRlZmF1bHQ6IHByaW50ZigiSW52YWxpZCBpbnB1dFxuXG4iKTticmVhazt9CgogICAgfQoKcmV0dXJuIDA7fQo=