主题:[讨论]十道题,全答出有分
guozhushenyu
[专家分:30] 发布于 2007-07-29 20:33:00
1、已知整型变量a=1,b=1。编写一个程序实现交换a和b的值的功能
2、一列队伍进行1到4报数。写一个程序,输入某人的位置,判断他应该报多少?
3、对于比较难的试卷,老师通常会把卷面分数开根号以后再乘以10做最后成绩。由于卷子很多,按计算器太麻烦,请你写一个程序帮助老师完成这个工作。
4、输入3个数,把他们按照从小到大的顺序输出。
5、编一个能够让计算机和人玩石头剪刀布的游戏。例如:分别用0、2、5表示石头、剪刀、布。人输入0,计算机输出2,那么计算器输了。人输入2,计算机输出0,人输了。你的游戏不但能够输出计算机的选择,而且应该能够自动半段最后的输赢。(和计算机玩这类游戏的时候你显然应该知道,如果计算机会输,那么 一定是它在让你)
6、请问4325、5120、7834、11296、22178、33050是不是两个完全平方数之和?如果是,写出这两个完全平方数的平方根。
7、请把1081、4199、5893、27713、32017分解质因数
8、一个人的走路速度是2米/秒,跑步速度是4米/秒。他先走了2米,然后跑4米,接下来走6米,跑8米,如此下去。在每次走换成跑的时候,如果从上次休息开始计算,他经过的路程超过了100米(包括100米),他就会停下来休息3分钟。请问,他用了多少时间才能走(跑)完1000米的路程?
9、一个数,如果它是偶数就把他除以2,如果它是奇数就把它乘以3再加上1。反复进行这个操作。请问1234在经过了10,000,000,000次操作以后变成了哪个数?
10、编写一个猜数字的游戏。要求:随机地产生一个数作为答案。每次从键盘读入一个数。如果猜中就结束游戏,否则输出比答案大还是比答案小。如果7次还没有猜中就判输。
回复列表 (共25个回复)
沙发
guozhushenyu [专家分:30] 发布于 2007-07-29 20:35:00
先抢个沙发.....
前几道还可以,但是后面......
板凳
Matodied [专家分:7560] 发布于 2007-07-29 21:17:00
(我每4题发一个帖子)
1、
VAR
a, b, t: INTEGER;
BEGIN
a := 1; b := 1;
t := a; a := b; b := t;
WRITELN(a, b);
END.
2、
VAR
a, m: INTEGER;
BEGIN
READLN(a);
m := a MOD 4;
IF m <> 0 THEN WRITELN(m) ELSE WRITELN(4);
END.
3、
VAR
a, b: INTEGER; ff: BOOLEAN;
BEGIN
ff := TRUE;
REPEAT
WRITE('Input score(Input -1 is end):');
READLN(a);
IF a <> -1 THEN BEGIN
b := TRUNC(SQRT(a) * 10);
WRITELN(b);
END ELSE BEGIN
ff := FALSE;
END;
UNTIL NOT ff;
END.
4、
VAR
a, b, c, t: INTEGER;
BEGIN
READLN(a, b, c);
IF a > b THEN BEGIN t := a; a := b; b := t; END;
IF a > c THEN BEGIN t := a; a := c; c := t; END;
IF b > c THEN BEGIN t := b; b := c; c := t; END;
WRITELN(a, b, c);
END.
3 楼
abcwuhang [专家分:1840] 发布于 2007-07-30 12:54:00
第9题:1
4 楼
cmy28 [专家分:380] 发布于 2007-07-30 15:35:00
有点没劲…………
5 楼
maxumi [专家分:2200] 发布于 2007-07-30 16:04:00
1.
program lx1;
var
x, y:integer;
procedure swapab(var a, b:integer); assembler;
asm
MOV AX, WORD PTR[b]
MOV BX, WORD PTR[a]
MOV WORD PTR[a], AX
MOV WORD PTR[b], BX
end;
begin
readln(x, y);
swap(x, y);
writeln(x);
writeln(y);
end.
6 楼
Matodied [专家分:7560] 发布于 2007-07-30 21:33:00
斑竹真是的,明明一个简单的程序非搞这么烦琐。
7 楼
abcwuhang [专家分:1840] 发布于 2007-07-30 22:00:00
竟然还用MOVE,这种东东好象早已被尘封了吧.......
8 楼
dorremon1992 [专家分:870] 发布于 2007-08-01 20:49:00
1.(1) begin
c:=a;a:=b;b:=c;
end.
(2) begin
a:=a+b;b:=a-b;a:=a-b;
end.
9 楼
maxumi [专家分:2200] 发布于 2007-08-02 09:49:00
[quote]斑竹真是的,明明一个简单的程序非搞这么烦琐。[/quote]
我只是KUSO一下而已......但是很明显的一点是, 这个swapab过程速度非常快
10 楼
dorremon1992 [专家分:870] 发布于 2007-08-02 21:47:00
[quote]1.
program lx1;
var
x, y:integer;
procedure swapab(var a, b:integer); assembler;
asm
MOV AX, WORD PTR[b]
MOV BX, WORD PTR[a]
MOV WORD PTR[a], AX
MOV WORD PTR[b], BX
end;
begin
readln(x, y);
swap(x, y);
writeln(x);
writeln(y);
end.
[/quote]
上面的程序的过程名字还叫swapab,后面就叫做了swap 有没有运行过啊?
我来回复