program sjxmj;
var
a,b,c,p,s:real;
begin
read(a,b,c);{读入边长}
P:=(a+b+c)/2;{海伦公式}
s:=sqrt(p*(p-a)*(p-b)*(p-c));{海伦公式}
writeln(S:0:10);{输出}
end.
这个没有判断过,如果要判断的话就追问吧。。。
program cfsmj;
var
a,b:real;
begin
read(a,b);
write(a*b:0:0);
end.
program zfsmj;
var
a:real;
begin
read(a);
write(sqr(a):0:0);
end.
输入底和高的:
var
a,b,s:real;
begin
readln(a,b);
s:=a*b/2;
writeln(s:0:2);
end.
输入三条边的边长的:
var
a,b,c,p,s:real;
begin
readln(a,b,c);
if (a+b<=c) or (a+c<=b) or (b+c<=c) then writeln('Data error')
else
begin
p:=(a+b+c)/2;
s:=sqrt(p*(p-a)*(p-b)*(p-c));
writeln(s:0:2);
end;
end.
两种都列出来了,具体哪种自己挑。 begin:程序(或子程序)开始;
writeln:输出,并换行;
write:输出;
read:输入;
readln:输入,并换行;
end:程序(或子程序)结束;
以下仅供参考。
var
a,b,c,p,s:real;
begin
readln(a,b,c);
if (a+b<=c) or (a+c<=b) or (b+c<=c) then writeln('Data error')
else
begin
p:=(a+b+c)/2;
s:=sqrt(p*(p-a)*(p-b)*(p-c));
writeln(s:0:2);
end;
end.