Дан ряд, который изображает арифметический пример, вывести результат - 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; }
Объяснение кода листинга программы
В этом коде:
- Объявлена переменная
s[]
со значением2*4*8*3*5
, представляющая собой строку, содержащую арифметический пример. - Объявлена переменная
res
со значением 1, которая будет использоваться для хранения результата вычисления примера. - Запускается цикл
for
, который начинается с индекса 0 и продолжается до тех пор, покаs[i]
не станет пустой строкой (т.е. не будет равен нулю). - Внутри цикла значение
res
умножается на значениеs[i]
, которое вычитается из 48 (для получения числового значения символа). - После завершения цикла выводится значение переменной
res
, которое представляет собой результат вычисления арифметического примера. - Код возвращает 0, что означает успешное выполнение программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д