free Pascal高手进!!!!!!!

2025-02-26 15:09:40
推荐回答(6个)
回答1:

太easy了,我可是Noip一等奖选手呢

你没给是一行还是一列,所以用read或readln
program t1
var i,j,k:integer;
begin
k:=maxint;
for i:=1 to 3 do
begin
read(j);
if j>k then k:=j;
end;
write(k);
end.

第二题超级easy,本题目有一个极大漏洞,直接写出来就行了
program t2;
var i,j:integer;
begin
read(i,j);
write(i,j); //偷懒法
end.

第三题 用模拟
program t3;
var a,b,c,d,e,ans:integer;
begin
read(a,b,c,d,e);
if (a>1) or (b>1) or (c>1) or (d>30) then
begin
write('No');
halt;
end;

//接下来好麻烦,但很好实现,自己慢慢算
end.

PS:NS图是什么?我从来没听过,再说我也传不上去图,爱莫能助了.......

回答2:

PROGRAM P1;
VAR X,MAX:INTEGER;
BEGIN
READ(X);MAX:=X;
READ(X);IF X>MAX THEN MAX:=X;
READ(X);IF X>MAX THEN MAX:=X;
WRITELN(MAX);
END.

PROGRAM P2;
VAR A,B,C:INTEGER;
BEGIN
READLN(A,B);
IF B<10 THEN C:=10
ELSE IF B<100 THEN C:=100
ELSE C:=1000;
C:=C*A+B;
WRITELN(C);
END.

回答3:

唉,好久没有见到这么亲切的Pascal了,好久没有写过Pascal的程序了,语法上面不一定全都正确,参考一下吧:
1.
program UniMouS
var a, b, c: integer;
begin
readln( a );
readln( b );
readln( c );

if( a > b and a > c ) writeln( a );
if( b > a and b > c ) writeln( b );
if( c > a and c > b ) writeln( c );
end.

2.
program UniMouS
var a, b : integer;
begin
if( b div 10 = 0 ) writeln( a * 10 + b );
else if( ( b div 10 ) div 10 = 0 ) writeln( a * 100 + b );
else writeln( a * 1000 + b );
end.

注意:这些题目不是高手也能做的出来,并且请不要在你的问题后面加那么多感叹号,一个就够了!

回答4:

第一题
program t1
var i,j,k:integer;
begin
k:=maxint;
for i:=1 to 3 do
begin
read(j);
if j>k then k:=j;
end;
write(k);
end.

第二题
program t2;
var i,j:integer;
begin
read(i,j);
write(i,j); //偷懒法
end.

第三题 用模拟
program t3;
var a,b,c,d,e,ans:integer;
begin
read(a,b,c,d,e);
if (a>1) or (b>1) or (c>1) or (d>30) then
begin
write('No');
halt;
end;

NS图 是不是就类似于流程图?

回答5:

1.
var a:array[1..3]of integer;
i,t:integer;
begin
for i:=1 to 3 do
read(a[i]);
t:=a[1];
for i:=2 to 3 do
if a[i]>t then t:=a[i];
writeln(a[i]);
end.
2.
var a,b:integer;
c,d:string;
begin
read(a,b);
str(a,c);
str(b,d);
c:=c+d;
writeln(c);
end.
思考题:
var ab,h,z,k,m:real;
begin
read(a,b,h,z,k);
if (a<=1)and(b<=1)and(h<=1)and(z<=30) then
begin
if z<=10 then begin
if k<=300 then m:=0.8
else m:=z;
end;
if (z>10)and((z<20)or(z=20)) then begin
if k<=300 then m:=0.75
else m:=0.9*z;
end;
if (z>20)and((z<30)or(z=30)) then begin
if k<300 then m:=0.7
else m:=0.8*z;
end;
writeln(m);
end.

var p,j,b,x:integer;
z:real;
begin
read(p,j,b,x);
z:=p*1.5+j*1.8+b*1.6+x*2;
writeln('mingcheng ',' danjia ',' zhongliang ');
writeln('pinguo ',' 1.5 ',' ',p);
writeln('juzi ',' 1.8 ',' ',j);
writeln('boluo ',' 1.6 ',' ',b);
writeln('xiangjiao ',' 2 ',' ',x);
writeln('zongjia:',z);
end.

回答6:

program ex1;
var a,b,c,t:integer;
begin
read(a,b,c);
t:=a;
if b>a then t:=b;
if c>b then t:=c ;
write(t);
readln;
readln;
end.

第二题出得有点脑残
program ex2;
var a,b:integer;
begin
read(a,b);
write(a,b);
readln;
readln;
end.