回 帖 发 新 帖 刷新版面

主题:[讨论]十道题,全答出有分

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个回复)

沙发

先抢个沙发.....
前几道还可以,但是后面......

板凳

(我每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 楼

第9题:1

4 楼


有点没劲…………

5 楼

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 楼

斑竹真是的,明明一个简单的程序非搞这么烦琐。

7 楼

竟然还用MOVE,这种东东好象早已被尘封了吧.......

8 楼

1.(1) begin
        c:=a;a:=b;b:=c;
      end.
  (2) begin
        a:=a+b;b:=a-b;a:=a-b;
      end.

9 楼

[quote]斑竹真是的,明明一个简单的程序非搞这么烦琐。[/quote]
我只是KUSO一下而已......但是很明显的一点是, 这个swapab过程速度非常快

10 楼

[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 有没有运行过啊?

我来回复

您尚未登录,请登录后再回复。点此登录或注册