有三个小朋友甲乙丙。甲有50粒糖果,乙有43粒糖果,丙有13粒糖果。现在他们做一个游戏。从甲开始,将自己的糖分三份,自己留一份,其余两份分别给乙与丙,多余的糖果自己吃掉,然后乙与丙也依次这样做。问最后甲、乙、丙三人各有书多少粒糖果?
var
a,b,c,d : integer
begin
a:=50;b:=43;c:=13;
d:=a div 3;
a:=(a mod 3)+d;
b:= b+d;
c:=c+d;
d:=b div 3;
b:=(b mod 3)+d;
a:=a+d;
c:=c+d;
d:=c div 3;
a:=a+d;
b:=b+d;
c:=(c mod 3)+d;
writeln('A is ',a,' ':4,'B is ',b,' ':4,'C is ',c);
readln;
end.
交换两个变量的值:由键盘输入两个正整数A和B,编程交换这两个变量的值。
var
a,b : integer;
begin
writeln('Enter A and B');
readln(a,b);
writeln('A and B is ',a,' ':4,b);
a := a xor b;
b := a xor b;
a := a xor b;
writeln('A and B is ',a,' ':4,b);
readln;
end.
编写程序把一个三位整数反转,例如358反转成853。
var
a,b,c,d : integer;
begin
writeln('Input An Number 3');
readln(a);
b:= a div 100;
c:= a mod 100;
d:= c mod 10;
c:= c div 10;
writeln('Your Number Now is ',d,c,b);
end.
某车棚存有自行车和三轮车共65辆,它们的轮子数合计为150个,求该棚内存有的自行车和三轮车各是多少辆?
var
san,zi : integer;
begin
san := (65*3 - 150) div 2;
zi := 65-san;
writeln('San is ',san,' ':4,'Zi is ',zi);
end.
五位好朋友相聚。第一位朋友带来了很多糖块赠送给各位朋友,使每人的糖块在各自原有的基础上翻了一倍;接着第二位好友也同样向每人赠送糖块,他同样使每人的糖块在各人已有的数量上翻了一倍;第三、第四、第五位好友都照此办理。经过这样的赠送之后,每人的糖块恰好都为32块。问各位好友原先的糖块数分别是多少?
var
a,b,c,d,e,f: integer;
begin
a:=32;
b:=32;
c:=32;
d:=32;
e:=32;
f:=(a div 2)+(b div 2)+(c div 2)+(d div 2);
e:=e+f;
a:=a div 2;
b:=b div 2;
c:=c div 2;
d:=d div 2;
f:=(a div 2)+(b div 2)+(c div 2)+(e div 2);
d:=d+f;
a:=a div 2;
b:=b div 2;
c:=c div 2;
e:=e div 2;
f:=(a div 2)+(b div 2)+(d div 2)+(e div 2);
c:=c+f;
a:=a div 2;
b:=b div 2;
d:=d div 2;
e:=e div 2;
f:=(a div 2)+(c div 2)+(d div 2)+(e div 2);
b:=b+f;
a:=a div 2;
c:=c div 2;
d:=d div 2;
e:=e div 2;
f:=(b div 2)+(c div 2)+(d div 2)+(e div 2);
a:=a+f;
b:=b div 2;
c:=c div 2;
d:=d div 2;
e:=e div 2;
writeln('A is ',a,' ':4,'B is ',b,' ':4,'C is ',c,' ':4,'D is ',d,' ':4,'E is ',e);
readln;
end.
从键盘输入a、b、c求一元二次方程ax2+bx+c=0的两个实数根(不考虑无解的情况)。
label 1;
var
a,b,c,delta: real;
begin
1:
writeln('aX^2+bX+c=0');
writeln('And Now You Can input a b and c');
writeln('a please');
readln(a);
writeln('b please');
readln(b);
writeln('c please');
readln(c);
writeln('OK,Let me see it');
delta:=b*b-4*a*c;
if delta<0 then
begin
writeln('Sorry No Answer,Now let me teleport you to the beginning');
goto 1;
end
else
begin
if delta=0 then
begin
write('X1=X2=');
write((-b+sqrt(delta))/2/a)
end;
if delta>0 then
begin
write('X1 is ');
writeln((-b+sqrt(delta))/2/a);
write('And X2 is');
writeln((-b-sqrt(delta))/2/a);
end;
end;
writeln('All');
readln;
end.
Pascal:简单程序设计,习题
https://Mundnaity.moe/post/pascal_chap2_ex