Author Guest in Программирование, 11.02.2018

C++ Дана строка вида «<цифра>±<цифра>±…±<цифра>»

Дана строка, изображающая арифметическое выражение вида «<циф-
ра>±<цифра>±…±<цифра>», где на месте знака операции «±» находится
символ «+» или «–» (например, «4+7–2–8»). Вывести значение данного
выражения (целое число).

Ответ оставил Гость

// На си напишу, компилятора плюсов под рукой нет

#include stdio.h
#include stdlib.h

#define MAX_STINRG 2048

int main()
{
char myString[MAX_STINRG];
if(fgets(myString, MAX_STINRG, stdin)) {
char *pMyString = myString;
int result = strtol(pMyString, &pMyString, 10);
while(*pMyString > ) {
char sign = *pMyString;
if(sign != + && sign != -) break;
int value = strtol(pMyString, &pMyString, 10);
result += value;
}
printf("%d", result);
}<

Не нашли нужный ответ?

Если вас не устраивает ответ или его нет, то попробуйте воспользоваться поиском на сайте и найти другие ответы в категории Программирование