Язык программирования Си


         

Составьте программу моделирования простейшего калькулятора,


- 330 - Си в UNIX

#endif /*A*/

7.63. Составьте программу моделирования простейшего калькулятора, который считывает в каждой строчке по одному числу (возможно со знаком) или по одной операции сложения или умножения, осуществляет операцию и выдает результат.

7.64. Составьте программу-калькулятор, которая производит операции сложения, вычита- ния, умножения, деления; операнды и знак арифметической операции являются строковыми аргументами функции main.

7.65. Составьте программу, вычисляющую значение командной строки, представляющей собой обратную польскую запись арифметического выражения. Например, 20 10 5 + * вычисляется как 20 * (10 + 5) .

7.66. Составьте функции работы со стеком: - добавление в стек - удаление вершины стека (с возвратом удаленного значения) Используйте два варианта: стек-массив и стек-список.

7.67. Составьте программу, которая использует функции работы со стеком для перевода арифметических выражений языка Си в обратную польскую запись.

/*#!/bin/cc $* -lm * Калькулятор. Иллюстрация алгоритма превращения выражений * в польскую запись по методу приоритетов. */

#include <stdio.h> #include <stdlib.h> /* extern double atof(); */ #include <math.h> /* extern double sin(), ... */ #include <ctype.h> /* isdigit(), isalpha(), ... */ #include <setjmp.h> /* jmp_buf */

jmp_buf AGAIN; /* контрольная точка */ err(n){ longjmp(AGAIN,n);} /* прыгнуть в контрольную точку */



Содержание  Назад  Вперед