free pascal算式处理:输入一个算式,输出解,有括号.例:输入:1/((7+3)*6)*60+1输出:1/((7+3)*6)*30+1=2

来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/27 16:05:30
freepascal算式处理:输入一个算式,输出解,有括号.例:输入:1/((7+3)*6)*60+1输出:1/((7+3)*6)*30+1=2freepascal算式处理:输入一个算式,输出解,有括

free pascal算式处理:输入一个算式,输出解,有括号.例:输入:1/((7+3)*6)*60+1输出:1/((7+3)*6)*30+1=2
free pascal算式处理:
输入一个算式,输出解,有括号.
例:输入:1/((7+3)*6)*60+1
输出:1/((7+3)*6)*30+1=2

free pascal算式处理:输入一个算式,输出解,有括号.例:输入:1/((7+3)*6)*60+1输出:1/((7+3)*6)*30+1=2
总算对了
program suanshi(input,output);
type
cao=record
b:boolean;
d:real;
end;
{
[42,43,44,45,46,47]
[ * + , - . / ]
[ 2 1 99 1 99 2 ]}
const
degree:array[42..47] of integer=(2,1,99,1,99,2);
var
s:string;
a:array[1..1024] of cao;
result1:real;
procedure init(s1:string;k:integer);
var
i,j,lowdegree,where,code:integer;
s2,s3:string;
begin
i:=0;
j:=0;
lowdegree:=100;
if (s1[1]='(') and (s1[length(s1)]=')') then
begin
delete(s1,1,1);
delete(s1,length(s1),1);
end;
repeat
inc(i);
if s1[i]='(' then
repeat
if s1[i]='(' then inc(j);
if s1[i]=')' then dec(j);
inc(i);
until j=0;
if not(i>=length(s1)) then
begin
if (ord(s1[i])