新人求助,输入未知的三个数,求中间数
pascal吧
全部回复
仅看楼主
level 1
中岛敦🌜 楼主
刚接触pascal,有些题目不懂,话说这题该怎么做呢?
请请吧内大神写一下程序,用if语句,要简单一点耶
2014年06月12日 04点06分 1
level 11
原理应该挺简单的,(如果我没理解错题目的话)
用三个数的和减去这三个数中的最大数和最小数(顺序+分支,不复杂吧)
var a,b,c,s,min,max:longint;
begin
readln(a,b,c);
s:=a+b+c;
min:=maxlongint;
max:=-maxlongint;
if a<min then min:=a;
if a>max then max:=a;
if b<min then min:=b;
if b>max then max:=b;
if c<min then min:=c;
if c>max then max:=c;
writeln(s-min-max);
end.
2014年06月12日 05点06分 2
应该没错,可数据范围如果是到maxlongint的话s会起飞
2014年06月12日 10点06分
回复 Fallen_Breath :是是是
2014年06月12日 14点06分
level 11
伪代码
var a,b,c,s,min,max:number;
begin
input(a,b,c);
s:=a+b+c;
min:=inf;
max:=-inf;
if a<min then min:=a;
if a>max then max:=a;
if b<min then min:=b;
if b>max then max:=b;
if c<min then min:=c;
if c>max then max:=c;
print(s-min-max);
end.
2014年06月12日 14点06分 3
作死的节奏啊………个人认为不会超的说【心虚】
2014年06月15日 11点06分
level 14
先选排,然后输出[2]
2014年06月13日 04点06分 4
把选去掉
2014年07月17日 10点07分
level 9
直接比较不就可以了?为何各种作死?
2014年07月17日 16点07分 5
level 3

var
a,b,c,t:longint;
begin
readln (a,b,c);
if a>b then begin a:=t;a:=b;b:=t;end;
if a>c then begin a:=t;a:=c;c:=t;end;
if b>c then begin b:=t;b:=c;c:=t;end;
writeln (b);
readln
end.
sample input
2 99 99
sample output
99
sample input
2 3 5
sample output
3
2014年07月18日 02点07分 6
level 3
2014年07月22日 03点07分 7
1