#5849. GOC变量的魔法

GOC变量的魔法

变量交换与排序编程趣味选择题(2-3年级)

一、单选题(每题两分)

1.用GoC编程玩比大小游戏,输入a=2和b=6,想让a始终存储大的点数并显示,下面哪段交换代码正确?

{{ select(1) }}

  • if(a>b){t=a; a=b; b=t;}

  • if(a<b){t=a; a=b; b=t;}

  • a=2; b=6; 直接显示a

  • 不用交换,直接显示b

2.输入两个数43和56,交换后输出,下面哪段代码的交换步骤正确?

{{ select(2) }}

  • t=a; a=b; b=t;

  • a=b; b=a;

  • t=b; a=t; b=a;

  • a=t; t=b; b=a;

3.用GoC画红色圆环(大的当外半径,小的当内半径),输入a=50和b=20,下面哪段交换代码能确保a是内半径、b是外半径?

{{ select(3) }}

  • if(a>b){t=a; a=b; b=t;}

  • if(a<b){t=a; a=b; b=t;}

  • 直接绘制,不用交换

  • t=a; a=b; b=t; 无需判断

4.画“不断上升”的台阶,输入10和50,要让a是小数、b是大数,下面哪段代码正确?

{{ select(4) }}

  • if(a>b){t=a; a=b; b=t;}

  • if(a<b){t=a; a=b; b=t;}

  • a=10; b=50; 直接绘制

  • t=a; a=b; b=t;

5.画红绿黄同心圆(红最大、绿中间、黄最小),输入50、30、40,要让a>b>c,下面哪段排序代码完整?

{{ select(5) }}

  • if(a<b){t=a; a=b; b=t;} if(a<c){t=a; a=c; c=t;} if(b<c){t=b; b=c; c=t;}

  • if(a<b){t=a; a=b; b=t;} if(a<c){t=a; a=c; c=t;}

  • if(b<c){t=b; b=c; c=t;}

  • 直接绘制,不用排序

6.小华买礼物,输入价格96、45、27,要找最高和最低价格,需要排序几次能找到最低价?

{{ select(6) }}

  • 排序一次

  • 排序二次

  • 排序三次

  • 不用排序

7.输入三个数50、150、96,按从大到小画线段,排序后正确的顺序是?

{{ select(7) }}

  • 50、96、150

  • 150、96、50

  • 150、50、96

  • 96、150、50

8.输入三个数80、120、60,要用“第二大的数”画实心正方形,下面哪段代码能正确确定第二大的数为b?

{{ select(8) }}

  • if(a>b){t=a; a=b; b=t;}

  • 第二大数 = (a+b+c) - 最大值 - 最小值

  • 直接取b作为第二大数

  • if(a<b){t=a; a=b; b=t;} if(a<c){t=a; a=c; c=t;} if(b<c){t=b; b=c; c=t;}

9.输入三个数30、100、50,用最大数画空心正方形,下面哪段代码能找到最大数?

{{ select(9) }}

  • if(a>b){t=a; a=b; b=t;}

  • if(a<b){t=a; a=b; b=t;} if(a<c){t=a; a=c; c=t;}

  • 最大数 = (a + b + c) / 3

  • 直接取b作为最大数

10.画雪人时输入两个直径50和80,要让d是小圆直径、D是大圆直径,下面哪段代码正确?

{{ select(10) }}

  • if(d>D){t=d; d=D; D=t;}

  • if(d<D){t=d; d=D; D=t;}

  • d=80; D=50;

  • 不用交换,直接绘制

11.输入两个数100和80,用最大数画正三角形,下面哪段交换代码正确?

{{ select(11) }}

  • if(a<b){t=a; a=b; b=t;}

  • if(a>b){t=a; a=b; b=t;}

  • a=80; b=100; 直接绘制

  • t=a; a=b; b=t; 无需判断