第52卷 算法与程序设计—数组—河北省计算机类—考纲百套卷
|
2份
|
20页
|
65人阅读
|
1人下载
内容正文:
编写说明:河北省对口招生计算机类《考纲百套卷》,依据《河北省普通高等学校对口招生考试大纲(2028版专业课)计算机类》编写。本专辑涵盖9门课程,第一部分是专业核心模块训练卷,第二部分为各门课程的综合训练卷。本专辑共98份试卷。
本试卷是第52卷为专业核心模块训练卷,按《算法与程序设计》中"算法程序卷7——数组"范围和要求编写。具体内容为:掌握数组的定义、初始化、引用、数组中数据对象的赋值与输出,数组排序;掌握遍历数组元素的方法
河北省对口招生职业技能考试
算法与程序设计 试卷
(算法程序卷7——数组)
考试时间:90分钟 满分:100分
一、单项选择题(共20题,每题2分,共40分)
1. C#中,数组的本质是()
A.值类型 B.引用类型 C.接口 D.结构体
【答案】B
【解析】C#中数组属于引用类型,存储在堆内存中,变量存储的是数组的引用地址;值类型直接存储数据(如int、bool),接口和结构体均不属于数组的本质类型。
2. 以下关于C#数组的说法,正确的是()
A.数组长度可以随时修改 B.数组元素必须是同一类型 C.数组可以存储不同类型的数据 D.数组下标从1开始
【答案】B
【解析】C#数组的核心特点是元素类型统一,即所有元素必须是同一数据类型;A错误,数组长度一旦声明固定,无法随时修改;C错误,不能存储不同类型数据;D错误,数组下标从0开始。
3. C#中,声明一个int类型、长度为5的数组,语法正确的是()
A.int[] arr = new int[5]; B.int arr[5] = new int[]; C.int[] arr = new int[]; D.int arr = new int[5];
【答案】A
【解析】C#数组声明的标准语法为“数据类型[] 数组名 = new 数据类型[长度];”;B错误,[]需跟在数据类型后,且不能只写new int[];;C错误,未指定数组长度且未初始化元素;D错误,未声明数组类型(缺少[])。
4. 以下哪种方式是C#数组的静态初始化()
A.int[] arr = new int[3]; B.int[] arr = {1,2,3}; C.int[] arr = new int[3]{1,2}; D.int[] arr = new int[];
【答案】B
【解析】静态初始化是指声明数组时直接指定元素值,可省略new关键字,格式为“数据类型[] 数组名 = {元素1, 元素2, ...};”;A是动态初始化(只指定长度,不赋值);C错误,指定长度后初始化元素个数需与长度一致;D错误,未初始化任何元素。
5. C#中,访问数组元素时,下标越界会抛出()异常
A.NullReferenceException B.IndexOutOfRangeException C.FormatException D.ArgumentException
【答案】B
【解析】下标越界(如访问长度为3的数组的arr[3])会抛出IndexOutOfRangeException(索引超出范围异常);A是空引用异常(数组未实例化时访问);C是格式异常(数据格式不匹配);D是参数异常(参数无效)。
6. 要遍历一个int类型数组arr,以下哪种循环方式最合适()
A.for循环 B.while循环 C.do-while循环 D.foreach循环
【答案】D
【解析】foreach循环专门用于遍历集合或数组,无需指定下标,可直接依次获取数组中所有元素,语法简洁,是遍历数组最便捷的方式;A、B、C循环均需手动控制下标,不如foreach便捷。
7. C#中,获取数组长度的属性是()
A.length B.Length C.Count D.size
【答案】B
【解析】C#中数组的长度通过Length属性获取(首字母大写),如arr.Length;A错误,首字母小写不是数组的长度属性;C是集合(如List)的长度属性;D不是C#中获取长度的关键字。
8. 以下代码中,数组初始化正确的是()
A.string[] strArr = new string[]{"a", "b", "c"}; B.string[] strArr = new string[3]{"a", "b"}; C.string[] strArr = {"a", 123}; D.string[] strArr = new string[3];
【答案】A
【解析】A是正确的动态初始化(指定元素,可省略长度);B错误,指定长度为3,初始化元素个数必须为3;C错误,数组元素类型必须统一,"a"是string类型,123是int类型;D是动态初始化(只指定长度,未赋值),但题目考查“初始化”(需赋值),因此A更符合题意。
9. 对int[] arr = {3,1,4,2}进行升序排序,使用的方法是()
A.Array.Sort(arr) B.Array.Reverse(arr) C.arr.Sort() D.arr.Reverse()
【答案】A
【解析】C#中对数组进行升序排序,需调用Array类的静态方法Sort(),语法为Array.Sort(数组名);B是数组反转方法;C、D错误,数组没有Sort()和Reverse()实例方法,需通过Array类调用。
10. C#中,二维数组的声明语法正确的是()
A.int[,] arr = new int[2,3]; B.int[][] arr = new int[2][3]; C.int arr[2,3] = new int[]; D.int[] arr[2] = new int[3];
【答案】A
【解析】二维数组的声明语法为“数据类型[,] 数组名 = new 数据类型[行数, 列数];”;B是交错数组(数组的数组)的声明方式,且语法错误(不能指定第二维长度);C、D错误,[]需跟在数据类型后,不符合二维数组声明规范。
11. 以下代码的输出结果是()
int[] arr = {10,20,30}; Console.WriteLine(arr[1]);
A.10 B.20 C.30 D.报错
【答案】B
【解析】数组下标从0开始,arr[0]对应第一个元素10,arr[1]对应第二个元素20,因此输出20;无下标越界,不会报错。
12. C#中,数组赋值时,以下说法正确的是()
A.可以直接将一个数组赋值给另一个数组,实现元素拷贝 B.数组赋值本质是引用赋值 C.数组元素不能修改 D.数组赋值后,两个数组元素互不影响
【答案】B
【解析】数组是引用类型,直接赋值时,赋值的是数组的引用地址,而非元素拷贝;A错误,直接赋值不能实现元素拷贝(需用Array.Copy()方法);C错误,数组元素可以修改;D错误,赋值后两个数组指向同一内存地址,修改一个数组的元素,另一个数组也会受影响。
13. 遍历数组时,foreach循环的特点是()
A.可以修改数组元素的值 B.只能读取数组元素的值 C.需要指定下标 D.可以跳出循环
【答案】B
【解析】foreach循环遍历数组时,遍历的是数组元素的副本,只能读取元素值,无法直接修改原数组元素;A错误,不能修改原数组元素;C错误,无需指定下标;D错误,foreach循环不能用break跳出(需结合标签)。
14. 以下哪种方法可以实现数组元素的反转()
A.Array.Sort() B.Array.Reverse() C.arr.Sort() D.arr.Reverse()
【答案】B
【解析】Array.Reverse(数组名)是C#中实现数组元素反转的标准方法;A是排序方法;C、D错误,数组没有实例方法Sort()和Reverse(),需通过Array类调用。
15. C#中,数组的默认初始值,int类型是()
A.1 B.0 C.null D.空字符串
【答案】B
【解析】C#中,动态初始化数组(只指定长度,不赋值)时,值类型数组的默认初始值为对应类型的默认值:int类型默认0,bool类型默认false;C是引用类型数组的默认值;D是string类型数组的默认值。
16. 以下代码中,正确给数组元素赋值的是()
A.int[] arr = new int[3]; arr[0] = 10; B.int[] arr = {1,2,3}; arr[3] = 4; C.int[] arr = new int[]; arr[0] = 5; D.int[] arr = new int[2]{1}; arr[1];
【答案】A
【解析】A正确,动态初始化数组后,通过下标给指定元素赋值;B错误,数组长度为3,下标最大为2,arr[3]下标越界;C错误,未指定数组长度且未初始化元素,无法直接赋值;D错误,arr[1]是读取元素,未进行赋值操作。
17. 关于数组排序,以下说法错误的是()
A.Array.Sort()默认是升序排序 B.可以对字符串数组进行排序 C.排序后数组元素的位置会改变 D.只能对int类型数组排序
【答案】D
【解析】Array.Sort()方法支持多种数据类型的数组排序,如int、string、double等,并非只能对int类型数组排序;A、B、C说法均正确。
18. C#中,以下哪种是交错数组()
A.int[,] arr = new int[2,3]; B.int[][] arr = new int[2][]; C.int[] arr = new int[5]; D.int arr[2,3];
【答案】B
【解析】交错数组(数组的数组)的声明语法为“数据类型[][] 数组名 = new 数据类型[外层长度][];”,外层数组的每个元素都是一个独立的一维数组;A是二维数组;C是一维数组;D语法错误。
19. 输出数组中所有元素,以下代码正确的是()
A.int[] arr = {1,2,3}; foreach(int num in arr) {Console.Write(num);} B.int[] arr = {1,2,3}; for(int i=1; i<=arr.Length; i++) {Console.Write(arr[i]);} C.int[] arr = {1,2,3}; Console.Write(arr); D.int[] arr = {1,2,3}; while(int i=0; i<arr.Length; i++) {Console.Write(arr[i]);}
【答案】A
【解析】A正确,foreach循环遍历数组,依次输出每个元素;B错误,下标从1开始,会导致arr[3]下标越界;C错误,直接输出数组名,会输出数组的类型信息(而非元素);D错误,while循环中不能在条件里声明变量i。
20. C#中,以下关于数组遍历的说法,正确的是()
A.for循环遍历数组时,必须从下标0开始 B.foreach循环可以修改数组元素的值 C.while循环不能用于遍历数组 D.遍历数组时,需先判断数组是否为null
【答案】D
【解析】D正确,若数组未实例化(为null),直接遍历会抛出空引用异常,因此需先判断数组是否为null;A错误,for循环可从任意合法下标开始遍历(如从1开始,只遍历后几个元素);B错误,foreach循环不能修改原数组元素;C错误,while循环可以用于遍历数组(手动控制下标)。
二、填空题(共10空,每空1分,共10分)
21. 数组的访问是通过_____来实现的。
【答案】下标(或索引)
【解析】C#中数组通过下标(索引)访问元素,下标从0开始,如arr[0]表示访问数组的第一个元素。
22. C#中,数组静态初始化时,可省略new关键字,直接用_____包裹元素。
【答案】大括号(或{})
【解析】静态初始化的简化格式为“数据类型[] 数组名 = {元素1, 元素2, ...};”,用大括号包裹所有初始化元素。
23. 遍历数组时,_____循环无需指定下标,可直接遍历数组中所有元素。
【答案】foreach
【解析】foreach循环专门用于遍历数组或集合,语法为“foreach(数据类型 变量名 in 数组名){...}”,无需手动控制下标。
24. C#中,对数组进行升序排序,需调用_____类的Sort()方法。
【答案】Array
【解析】C#中数组排序需使用Array类的静态方法Sort(),语法为Array.Sort(数组名),默认实现升序排序。
25. 声明一个string类型、长度为4的数组,语法为_____。
【答案】string[] arr = new string[4];(数组名可任意,如strArr、arr1等,语法正确即可)
【解析】数组声明的标准语法为“数据类型[] 数组名 = new 数据类型[长度];”,string类型数组的声明需遵循此规范。
26. C#中,数组元素的默认初始值,引用类型数组是_____。
【答案】null
【解析】引用类型(如string、类)的数组,动态初始化后未赋值时,每个元素的默认值为null;值类型数组的默认值为对应类型的默认值(如int为0)。
27. 给int[] arr = new int[3];的第二个元素赋值为20,代码为_____。
【答案】arr[1] = 20;
【解析】数组下标从0开始,第二个元素的下标为1,赋值语法为“数组名[下标] = 值;”。
28. 实现数组元素反转的方法是_____。
【答案】Array.Reverse(数组名)(如Array.Reverse(arr))
【解析】C#中通过Array类的静态方法Reverse()实现数组元素反转,需传入要反转的数组名。
29. C#中,获取数组长度的属性是_____。
【答案】Length
【解析】数组的长度通过Length属性获取,首字母大写,如arr.Length,返回值为int类型,表示数组的元素个数。
30. 数组初始化时,若指定数组长度且同时赋值,赋值的元素个数_____数组长度(填“不能超过”或“可以超过”)。
【答案】不能超过
【解析】指定数组长度后,初始化的元素个数必须等于或小于数组长度,若超过则会编译报错。
31. 遍历数组时,若使用for循环,循环条件通常是下标小于_____。
【答案】数组长度(或arr.Length)
【解析】for循环遍历数组时,下标从0开始,最大下标为“数组长度-1”,因此循环条件通常设为“下标 < 数组长度”(如i < arr.Length),避免下标越界。
三、判断题(共5题,每题2分,共10分)
31. 在C#中,数组的长度是固定的。( )
【答案】√
【解析】C#中数组一旦声明(指定长度),长度就固定不变,无法动态增加或减少;若需动态调整长度,需使用集合(如List)。
32. C#中,数组可以存储不同类型的元素。( )
【答案】×
【解析】C#数组的核心要求是元素类型统一,所有元素必须是同一数据类型,不能存储不同类型的元素。
33. foreach循环遍历数组时,只能读取元素值,不能修改元素值。( )
【答案】√
【解析】foreach循环遍历的是数组元素的副本,修改循环变量的值不会影响原数组元素,因此只能读取,不能修改原数组元素。
34. C#中,Array.Sort()方法默认对数组进行降序排序。( )
【答案】×
【解析】Array.Sort()方法默认对数组进行升序排序,若需降序排序,需先升序排序,再调用Array.Reverse()方法反转。
35. 访问数组元素时,下标可以从0开始,也可以从1开始。( )
【答案】×
【解析】C#数组的下标固定从0开始,不能从1开始;若从1开始访问,会导致第一个元素(下标0)无法访问,且可能出现下标越界异常。
四、程序分析题(共1题,每题10分,共10分)
36. 阅读下面的C#程序,分析其功能并写出运行结果。
using System;
class Program
{
static void Main()
{
int[] arr = { 3, 7, 2, 9, 1, 5 };
int max = arr[0];
int index = 0;
for (int i = 1; i < arr.Length; i++)
{
if (arr[i] > max)
{
max = arr[i];
index = i;
}
}
Console.WriteLine("最大值:" + max + " 位置:" + index);
}
}
程序运行结果:___________________
【答案】最大值:9 位置:3
五、写运行结果题(共2题,每题5分,共10分)
37. 分析下面C#程序段的输出结果:
using System;
class Program
{
static void Main()
{
for (int i = 1; i <= 3; i++)
{
for (int j = 1; j <= 3; j++)
{
if (i == j)
Console.Write(i * j + " ");
}
}
Console.WriteLine();
}
}
程序运行结果:___________________
【答案】1 4 9
38. 分析下面C#程序段的输出结果:
using System;
class Program
{
static void Main()
{
string s = "ABCDEF";
Console.WriteLine(s.Substring(2, 3));
Console.WriteLine(s.IndexOf【'CD'】);
Console.WriteLine(s.Replace("CD", "XX"));
}
}
程序运行结果:___________________
【答案】CDE
2
ABXXEF
六、程序改错题(共1题,每题5分,共5分)
39. 下面程序计算整数数组元素的总和,但有1处错误,请找出并改正:
using System;
class Program{
static void Main(){
int[] arr = {1, 2, 3, 4, 5};
int sum = 0;
for(int i = 0; i <= arr.Length; i++)
sum += arr[i];
Console.WriteLine(sum);
}
}
请找出程序中的错误,并写出正确答案。
【答案】错误:i <= arr.Length 应改为 i < arr.Length(数组下标最大为Length-1,否则越界)。
七、程序填空题(共3题,每题5分,共15分)
40. 下面程序计算字符串中各字符出现的次数,请填写空白处:
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
string s = "abracadabra";
Dictionary<char, int> dict = new Dictionary<char, int>();
foreach (char c in s)
{
if (dict.ContainsKey(c))
_____;
else
dict[c] = _____;
}
foreach (var kv in dict)
Console.WriteLine(kv.Key + ":" + kv.Value);
}
}
【答案】['dict[c]++', '1']
41. 下面程序将整数转换为二进制字符串,请填写空白处:
using System;
class Program
{
static string ToBinary(int n)
{
if (n == 0) return "0";
string result = "";
while (_____)
{
result = (n % 2).ToString() + result;
n = _____;
}
return result;
}
static void Main()
{
Console.WriteLine(ToBinary(10));
Console.WriteLine(ToBinary(13));
}
}
【答案】['n > 0', 'n / 2']
42. 下面程序用选择排序对数组升序排列,请填写空白处:
using System;
class Program
{
static void Main()
{
int[] a = { 64, 25, 12, 22, 11 };
int n = a.Length;
for (int i = 0; i < n - 1; i++)
{
int minIdx = i;
for (int j = i + 1; j < n; j++)
{
if (a[j] < a[minIdx])
minIdx = _____;
}
int temp = a[minIdx];
a[minIdx] = a[i];
a[i] = _____;
}
foreach (int x in a)
Console.Write(x + " ");
}
}
【答案】['j', 'temp']
学科网(北京)股份有限公司
$
编写说明:河北省对口招生计算机类《考纲百套卷》,依据《河北省普通高等学校对口招生考试大纲(2028版专业课)计算机类》编写。本专辑涵盖9门课程,第一部分是专业核心模块训练卷,第二部分为各门课程的综合训练卷。本专辑共98份试卷。
本试卷是第52卷为专业核心模块训练卷,按《算法与程序设计》中"算法程序卷7——数组"范围和要求编写。具体内容为:掌握数组的定义、初始化、引用、数组中数据对象的赋值与输出,数组排序;掌握遍历数组元素的方法
河北省对口招生职业技能考试
算法与程序设计 试卷
(算法程序卷7——数组)
考试时间:90分钟 满分:100分
一、单项选择题(共20题,每题2分,共40分)
1. C#中,数组的本质是()
A.值类型 B.引用类型 C.接口 D.结构体
2. 以下关于C#数组的说法,正确的是()
A.数组长度可以随时修改 B.数组元素必须是同一类型
C.数组可以存储不同类型的数据 D.数组下标从1开始
3. C#中,声明一个int类型、长度为5的数组,语法正确的是()
A.int[] arr = new int[5]; B.int arr[5] = new int[];
C.int[] arr = new int[]; D.int arr = new int[5];
4. 以下哪种方式是C#数组的静态初始化()
A.int[] arr = new int[3]; B.int[] arr = {1,2,3};
C.int[] arr = new int[3]{1,2}; D.int[] arr = new int[];
5. C#中,访问数组元素时,下标越界会抛出()异常
A.NullReferenceException B.IndexOutOfRangeException
C.FormatException D.ArgumentException
6. 要遍历一个int类型数组arr,以下哪种循环方式最合适()
A.for循环 B.while循环 C.do-while循环 D.foreach循环
7. C#中,获取数组长度的属性是()
A.length B.Length C.Count D.size
8. 以下代码中,数组初始化正确的是()
A.string[] strArr = new string[]{"a", "b", "c"};
B.string[] strArr = new string[3]{"a", "b"};
C.string[] strArr = {"a", 123};
D.string[] strArr = new string[3];
9. 对int[] arr = {3,1,4,2}进行升序排序,使用的方法是()
A.Array.Sort(arr) B.Array.Reverse(arr) C.arr.Sort() D.arr.Reverse()
10. C#中,二维数组的声明语法正确的是()
A.int[,] arr = new int[2,3]; B.int[][] arr = new int[2][3];
C.int arr[2,3] = new int[]; D.int[] arr[2] = new int[3];
11. 以下代码的输出结果是()
int[] arr = {10,20,30}; Console.WriteLine(arr[1]);
A.10 B.20 C.30 D.报错
12. C#中,数组赋值时,以下说法正确的是()
A.可以直接将一个数组赋值给另一个数组,实现元素拷贝
B.数组赋值本质是引用赋值
C.数组元素不能修改
D.数组赋值后,两个数组元素互不影响
13. 遍历数组时,foreach循环的特点是()
A.可以修改数组元素的值 B.只能读取数组元素的值
C.需要指定下标 D.可以跳出循环
14. 以下哪种方法可以实现数组元素的反转()
A.Array.Sort() B.Array.Reverse() C.arr.Sort() D.arr.Reverse()
15. C#中,数组的默认初始值,int类型是()
A.1 B.0 C.null D.空字符串
16. 以下代码中,正确给数组元素赋值的是()
A.int[] arr = new int[3]; arr[0] = 10; B.int[] arr = {1,2,3}; arr[3] = 4;
C.int[] arr = new int[]; arr[0] = 5; D.int[] arr = new int[2]{1}; arr[1];
17. 关于数组排序,以下说法错误的是()
A.Array.Sort()默认是升序排序 B.可以对字符串数组进行排序
C.排序后数组元素的位置会改变 D.只能对int类型数组排序
18. C#中,以下哪种是交错数组()
A.int[,] arr = new int[2,3]; B.int[][] arr = new int[2][];
C.int[] arr = new int[5]; D.int arr[2,3];
19. 输出数组中所有元素,以下代码正确的是()
A.int[] arr = {1,2,3}; foreach(int num in arr) {Console.Write(num);}
B.int[] arr = {1,2,3}; for(int i=1; i<=arr.Length; i++) {Console.Write(arr[i]);} C.int[] arr = {1,2,3}; Console.Write(arr);
D.int[] arr = {1,2,3}; while(int i=0; i<arr.Length; i++) {Console.Write(arr[i]);}
20. C#中,以下关于数组遍历的说法,正确的是()
A.for循环遍历数组时,必须从下标0开始 B.foreach循环可以修改数组元素的值 C.while循环不能用于遍历数组 D.遍历数组时,需先判断数组是否为null
二、填空题(共10空,每空1分,共10分)
21. 数组的访问是通过_____来实现的。
22. C#中,数组静态初始化时,可省略new关键字,直接用_____包裹元素。
23. 遍历数组时,_____循环无需指定下标,可直接遍历数组中所有元素。
C#中,对数组进行升序排序,需调用_____类的Sort()方法。
24. 声明一个string类型、长度为4的数组,语法为_____。
25. C#中,数组元素的默认初始值,引用类型数组是_____。
26. 给int[] arr = new int[3];的第二个元素赋值为20,代码为_____。
27. 实现数组元素反转的方法是_____。
28. C#中,获取数组长度的属性是_____。
29. 数组初始化时,若指定数组长度且同时赋值,赋值的元素个数_____数组长度(填“不能超过”或“可以超过”)。
30. 遍历数组时,若使用for循环,循环条件通常是下标小于_____。
三、判断题(共5题,每题2分,共10分)
31. 在C#中,数组的长度是固定的。( )
32. C#中,数组可以存储不同类型的元素。( )
33. foreach循环遍历数组时,只能读取元素值,不能修改元素值。( )
34. C#中,Array.Sort()方法默认对数组进行降序排序。( )
35. 访问数组元素时,下标可以从0开始,也可以从1开始。( )
四、程序分析题(共1题,每题10分,共10分)
36. 阅读下面的C#程序,分析其功能并写出运行结果。
using System;
class Program
{
static void Main()
{
int[] arr = { 3, 7, 2, 9, 1, 5 };
int max = arr[0];
int index = 0;
for (int i = 1; i < arr.Length; i++)
{
if (arr[i] > max)
{
max = arr[i];
index = i;
}
}
Console.WriteLine("最大值:" + max + " 位置:" + index);
}
}
程序运行结果:___________________
五、写运行结果题(共2题,每题5分,共10分)
37. 分析下面C#程序段的输出结果:
using System;
class Program
{
static void Main()
{
for (int i = 1; i <= 3; i++)
{
for (int j = 1; j <= 3; j++)
{
if (i == j)
Console.Write(i * j + " ");
}
}
Console.WriteLine();
}
}
程序运行结果:___________________
38. 分析下面C#程序段的输出结果:
using System;
class Program
{
static void Main()
{
string s = "ABCDEF";
Console.WriteLine(s.Substring(2, 3));
Console.WriteLine(s.IndexOf【'CD'】);
Console.WriteLine(s.Replace("CD", "XX"));
}
}
程序运行结果:___________________
六、程序改错题(共1题,每题5分,共5分)
39. 下面程序计算整数数组元素的总和,但有1处错误,请找出并改正:
using System;
class Program{
static void Main(){
int[] arr = {1, 2, 3, 4, 5};
int sum = 0;
for(int i = 0; i <= arr.Length; i++)
sum += arr[i];
Console.WriteLine(sum);
}
}
请找出程序中的错误,并写出正确答案。
七、程序填空题(共3题,每题5分,共15分)
40. 下面程序计算字符串中各字符出现的次数,请填写空白处:
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
string s = "abracadabra";
Dictionary<char, int> dict = new Dictionary<char, int>();
foreach (char c in s)
{
if (dict.ContainsKey(c))
_____;
else
dict[c] = _____;
}
foreach (var kv in dict)
Console.WriteLine(kv.Key + ":" + kv.Value);
}
}
41. 下面程序将整数转换为二进制字符串,请填写空白处:
using System;
class Program
{
static string ToBinary(int n)
{
if (n == 0) return "0";
string result = "";
while (_____)
{
result = (n % 2).ToString() + result;
n = _____;
}
return result;
}
static void Main()
{
Console.WriteLine(ToBinary(10));
Console.WriteLine(ToBinary(13));
}
}
42. 下面程序用选择排序对数组升序排列,请填写空白处:
using System;
class Program
{
static void Main()
{
int[] a = { 64, 25, 12, 22, 11 };
int n = a.Length;
for (int i = 0; i < n - 1; i++)
{
int minIdx = i;
for (int j = i + 1; j < n; j++)
{
if (a[j] < a[minIdx])
minIdx = _____;
}
int temp = a[minIdx];
a[minIdx] = a[i];
a[i] = _____;
}
foreach (int x in a)
Console.Write(x + " ");
}
}
学科网(北京)股份有限公司
$