Дан ряд, который изображает арифметический пример, вывести результат - C (СИ)

Узнай цену своей работы

Формулировка задачи:

У меня чего то не получаеться перевести с паскаля на си задачи по строкам!
var
  a: array[1..100] of char;
  p, t, c: integer;
  i, k: byte;
  s: string;
 
begin
 
  write('Введите строку: '); readln(s);
  p := 1; k := 0;
  for i := 1 to length(s) do
    if s[i] <> '*' then
    begin
      k := k + 1;
      a[k] := s[i];
    end;  
  for i := 1 to k do
  begin
    val(a[i], t, c);
    p := p * t;
  end;
  writeln('Произведение: ', p);
end.
начинаю переводить и выскакивает почти на каждом шагу ошибки...

Решение задачи: «Дан ряд, который изображает арифметический пример, вывести результат»

textual
Листинг программы
#include <cstdio>
int main(){
    char s[]="2*4*8*3*5";
    int res=1;
    for (int i=0; s[i];i+=2)
        res*=s[i]-48;
    printf("Result = %d\n",res);
    return 0;
}

Объяснение кода листинга программы

В этом коде:

  1. Объявлена переменная s[] со значением 2*4*8*3*5, представляющая собой строку, содержащую арифметический пример.
  2. Объявлена переменная res со значением 1, которая будет использоваться для хранения результата вычисления примера.
  3. Запускается цикл for, который начинается с индекса 0 и продолжается до тех пор, пока s[i] не станет пустой строкой (т.е. не будет равен нулю).
  4. Внутри цикла значение res умножается на значение s[i], которое вычитается из 48 (для получения числового значения символа).
  5. После завершения цикла выводится значение переменной res, которое представляет собой результат вычисления арифметического примера.
  6. Код возвращает 0, что означает успешное выполнение программы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 4.286 из 5
Похожие ответы