Читаємо перше доданок у змінну . Потім розбиваємо решту рядка на пари: символ операції та доданок.
Послідовно читаємо пари (символ, число) до кінця файлу, виконуючи відповідні дії.
Реалізація алгоритму
Перше доданок читаємо у змінну .
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 реалізація
Визначаємо значення введеного виразу та виводимо результат.
Функція eval() обчислює рядок як Python вираз і повертає результат.
print(eval(input()))