Калькулятор#1427

Калькулятор (Розбір)

Читаємо перше доданок у змінну . Потім розбиваємо решту рядка на пари: символ операції та доданок.

Послідовно читаємо пари (символ, число) до кінця файлу, виконуючи відповідні дії.

Реалізація алгоритму

Перше доданок читаємо у змінну .

scanf("%d",\&res);

Читаємо знак операції (додавання або віднімання), та наступне за ним число . Додаємо до або віднімаємо з .

while (scanf("%c%d", \&ch, \&x) == 2)
  if (ch == '+') res += x; else res -= x;

Виводимо результат обчислень.

printf("%d\n",res);

Реалізація алгоритму — iostream

Перше доданок читаємо у змінну .

cin >> res;

Читаємо вхідні дані до кінця файлу. Читаємо знак операції (додавання або віднімання), та наступне за ним число .

while (cin >> ch >> x)

Додаємо до або віднімаємо з .

  if (ch == '+') res += x; else res -= x;

Виводимо результат обчислень.

cout << res << endl;

Java реалізація

import java.util.*;

public class Main
{
  public static void main(String[] args)
  {
    Scanner con = new Scanner(System.in);
    String s = con.nextLine();
    StringTokenizer st1 = new StringTokenizer(s, "+-");
    StringTokenizer st2 = new StringTokenizer(s, "0123456789");
    int res = Integer.parseInt(st1.nextToken());
    while (st1.hasMoreTokens()) 
    {
      int x = Integer.parseInt(st1.nextToken());
      if (st2.nextToken().equals("+")) res += x;
      else res -= x;
    }
    System.out.println(res);
    con.close();
  }
}

Python реалізація

Визначаємо значення введеного виразу та виводимо результат.

print(eval(input()))