一维数组练习题

一维数组练习题

题目一:数组元素反转

描述:给定一个整数数组,将数组中的元素反转并输出。

要求:

1. 输入一个整数n,表示数组的长度(1 ≤ n ≤ 100);

2. 输入n个整数构成的数组;

3. 输出数组中的元素,按照逆序输出。

解答:

题目二:查找数组中的最大值和最小值

描述:给定一个整数数组,找出数组中的最大值和最小值,并输出。

要求:

1. 输入一个整数n,表示数组的长度(1 ≤ n ≤ 100);

2. 输入n个整数构成的数组;

3. 输出数组中的最大值和最小值。

解答:

题目三:计算数组的和与平均值

描述:给定一个整数数组,计算数组中所有元素的和及平均值,并

输出结果。

要求:

1. 输入一个整数n,表示数组的长度(1 ≤ n ≤ 100);

2. 输入n个整数构成的数组;

3. 输出数组中所有元素的和及平均值,结果保留两位小数。

解答:

题目四:数组去重

描述:给定一个整数数组,去除数组中的重复元素,并输出结果。

要求:

1. 输入一个整数n,表示数组的长度(1 ≤ n ≤ 100);

2. 输入n个整数构成的数组;

3. 输出去除重复元素后的数组。

解答:

题目五:数组元素排序

描述:给定一个整数数组,对数组中的元素进行排序,并输出结果。要求:

1. 输入一个整数n,表示数组的长度(1 ≤ n ≤ 100);

2. 输入n个整数构成的数组;

3. 输出排序后的数组。

解答:

题目六:数组元素查找

描述:给定一个整数数组和一个目标值,判断目标值是否存在于数组中,并输出结果。

要求:

1. 输入一个整数n,表示数组的长度(1 ≤ n ≤ 100);

2. 输入n个整数构成的数组;

3. 输入一个整数作为目标值;

4. 若目标值存在于数组中,则输出"目标值存在于数组中",否则输出"目标值不存在于数组中"。

解答:

以上为一维数组练习题的题目描述及解答,请根据题目所需完成相应的练习。

第六~八章 概念练习题-附参考答案

第六~第八章基本概念练习题 第6章数组 一、选择题。 1. 以下对一维数组a的正确定义是: A)char a(10);B) int a[]; C)int k=5,a[k];D)char a[3]={‘a’,’b’,’c’}; 2.以下能对一维数组a进行初始化的语句是: ( ) A. int a[5]=(0,1,2,3,4,) B. int a(5)={} C. int a[3]={0,1,2} D. int a{5}={10*1} ; 3.在C语言中对一维整型数组的正确定义为。 A)int a(10); B)int n=10,a[n]; C)int n;a[n]; D)#define N 10 int a[N]; 4. 若二维数组a有m列,则在a[i][j]之前的元素个数为 A. j*m+i B. i*m+j C. i*m+j-1 D. i*m+j+1 *5. 下列说法中错误的是 A 构成数组的所有元素的数据类型必须是相同的 B 用指针法引用数组元素允许数组元素的下标越界 C 一维数组元素的下标依次是1、2、3…… · D 定义数组时的长度可以是整型常量表达式 6. 假定int类型变量占用两个字节,其有定义:int x[10]={0,2,4};,则数组x在 内存中所占字节数是 A) 3 B) 6 C) 10 D) 20 7.若有说明:int a[][3]={{1,2,3},{4,5},{6,7}}; 则数组a的第一维的大小为: ( ) A. 2 B. 3 C. 4 D.无确定值 8.以下定义语句中,错误的是( ) A) int a[]={1,2}; B) char *a; C) char s[10]=“test”; D) int n=5,a[n]; 9.下面程序段的输出结果是: ( ) int i; 、 int x[3][3]={1,2,3,4,5,6,7,8,9}; for (i=0;i<3;i++) printf("%d ",x[i][2-i]); A) 1 5 9 B) 1 4 7 C) 3 5 7 D) 3 6 9

数组 选择练习题

例题 1:下列一维数组定义正确的是()。 A.x=6;int num[x]; B.const int x=6;float a[x]; B.const float x=6;int b[x]; D.const int x;x=6;int c[x]; 答案:B, 分析:因为数组的下标不能是变量,不能为非整数,定义为常量的标识符不能再用来赋值,只能在定义的同时初始化。 例题 2:下面选项中等价的是()。 A.int a[2][3]={1,0,2,2,4,5}与int a[2][]= {1,0,2,2,4,5}; B.int a[][3]= {1,0,2,2,4,5}与int a[2][3]= {1,0,2,2,4,5}; C.int a[2][3]={3,4,5}与int a[][3]={3,4,5}; D.int a[2][3]={0,1}与int a[2][3]={{0},{1}}; 答案:B, 分析:二维数组定义的时候不能省略列下标。 例题 3:下面程序的输出结果是()。 #include void main( ) { int a[3][3]={{1,2},{3,4},{5}}; int sum=0; for (int I=1;I<3;I++) for(int j=0;j<=I;j++) sum+=a[I][j]; cout<

一维数组习题

一维数组 【例1】输入50个数,要求程序按输入时的逆序把这50个数打印出来;也就是说,请你按输入相反顺序打印这50个数 分析:我们可定义一个数组a用以存放输入的50个数,然后将数组a内容逆序输出,源程序如下 program ex5_1; type arr=array[1..50]of integer; {说明一数组类型arr} var a:arr; i:integer; begin writeln('Enter 50 integer:'); for i:=1 to 50 do read(a[i]);{从键盘上输入50个整数} readln; for i:=50 downto 1 do {逆序输出这50个数} write(a[i]:10); end. 【例2】输入十个正整数,把这十个数按由大到小的顺序排列(将数据按一定顺序排列称为排序,排序的算法有很多,其中选择排序中的―简单选择排序‖是一种较简单的方法) 分析:要把十个数按从大到小顺序排列,则排完后,第一个数最大,第二个数次大,……;因此,我们第一步可将第一个数与其后的各个数依次比较,若发现,比它大的,则与之交换,比较结束后,则第一个数已是最大的数。同理,第二步,将第二个数与其后各个数再依次比较,又可得出次大的数。如此方法进行比较,最后一次,将第九个数与第十个数比较,以决定次小的数。于是十个数的顺序排列结束。 例如下面对5个进行排序,这个五个数分别为829105。按选择排序方法,过程如下: 初始数据:82910 5 第一轮排序:82910 5 92810 5 10289 5 10289 5 第二轮排序:10829 5 10928 5 10928 5 第三轮排序:10982 5 10982 5 第四轮排序:10985 2 对于十个数,则排序要进行9次。源程序如下: program ex5_2; var a:array[1..10]of integer; i,j,t:integer; begin writeln('Input 10 integers:'); for i:=1 to 10 do read(a[i]);{读入10个初始数据} readln; for i:=1 to 9 do{进行9次排序} begin for j:=i+1 to 10 do{将第i个数与其后所有数比较}

一维数组练习题

维数组练习题1 、以下对一维数组 a 进行正确初始化的是 ____________ A) int a[10]=(0,0,0,0,0); C) int a[ ]={0}; B) int a[10]={ }; D) int a[10]={ 10*2}; 2 、以下一维数组 a 的正确定义是_________ 。 A) int a(10); B) int n=10,a[n]; C) int n; D) #define SIZE 10 scanf("%d",&n); int a[SIZE]; int a[n]; 3 、执行下面的程序段后 , 变量 k 中的值为 __________ 。 int k=3,s[2]; s[0]=k; k=s[1]*10; A) 不定值B) 33 C) 30 D) 10 4 、下列程序执行后的输出结果是 main() {int a,b[5]; a=0; b[0]=3; printf("%d,%d\n",b[0],b[1] ); A) 3,0 C) 0,3 } B) 3 0 D) 3, 不定值 5、已知数组a的赋值情况如下所示,则执行语句a[2]++; 后a[1]和a[2]的值分别是_______________ 。 a[0] a[1] a[2] a[3] a[4] 10 | 20 | 30 | 40 | 50 | A) 20 和 30 C) 21 和 30 B) 20 和 31 D) 21 和 31 6、以下程序输出 a 数组中的最小值及其下标,在划线处应填入的是 _____________ main( ) { int i,p=0,a[10]; for(i=0;i<10;i++) scanf("%d",&a[i]); for(i=1;i<10;i++) if(a[i]

C、C++程序设计:一维数组单元测试与答案

一、单选题 1、执行下面的程序段后,变量k中的值为()。 int k=3, s[2]; s[0]=k; k=s[1]*10; A.30 B.不定值 C.1 D.33 正确答案:B 2、假定int类型变量占用4个字节,其有定义:int x[10]={0,2,4};,则数组x在内存中所占字节数是() A.3 B.40 C.10 D.12 正确答案:B 3、以下定义语句中,错误的是()。

A.int a[2]={1,2}; B. int n=2, a[n]={1,2}; C. int a[5]={1,2}; D. int a[]={1,2}; 正确答案:B 4、以下对一维数组a进行正确初始化的是()。 A.int a[5]=(0,0,0,0,0); B.int a[5]={1,2,3,4,5,6}; C.int a[5]={0}; D.int a[5]=1,2,3,4,5; 正确答案:C 5、有如下说明: int a[10]={0,1,2,3,4,5,6,7,8,9}; 则数值不为9的表达式是()。 A.a[8] B.a[9]-a[0] C.a[10-1] D.a[9] 正确答案:A

二、判断题 1、使用数值型数组时,不可以一次引用整个数组,只能逐个引用元素。 正确答案:√ 2、C语言中,数组名是一个常量,是数组首元素的内存地址,可以重新赋值。正确答案:× 3、C语言中,数组元素在内存中是顺序存放的,它们的地址是连续的。 正确答案:√ 三、填空题 1、假设有定义 int a[10]={1,3,5,7}; ,则7是元素()的值。 正确答案:a[3] 2、数组名是一个地址(),由系统自动为其分配,不能人为修改,代表了数组在内存中存放的首地址。(提示:填“常量”或“变量”) 正确答案:常量

C语言数组练习及答案

第四部分数组 4.1 选择题 1. 以下关于数组的描述正确的是(c )。 A. 数组的大小是固定的,但可以有不同的类型的数组元素 B. 数组的大小是可变的,但所有数组元素的类型必须相同 C. 数组的大小是固定的,所有数组元素的类型必须相同 D. 数组的大小是可变的,可以有不同的类型的数组元素 2. 以下对一维整型数组a的正确说明是(d )。 A.int a(10); B. int n=10,a[n]; C.int n; D. #define SIZE 10 scanf("%d",&n); int a[SIZE]; int a[n]; 3. 在C语言中,引用数组元素时,其数组下标的数据类型允许是(c )。 A. 整型常量 B. 整型表达式 C. 整型常量或整型表达式 D. 任何类型的表达式 4. 以下对一维数组m进行正确初始化的是(c )。 A. int m[10]=(0,0,0,0) ; B. int m[10]={ }; C. int m[ ]={0}; D. int m[10]={10*2}; 5. 若有定义:int bb[ 8];。则以下表达式中不能代表数组元bb[1]的地址的是(c )。 A. &bb[0]+1 B. &bb[1] C. &bb[0]++ D. bb+1 6. 假定int类型变量占用两个字节,其有定义:int x[10]={0,2,4};,则数组x在存中所占字节数是(d )。 A. 3 B. 6 C. 10 D. 20 7. 若有以下说明: int a[12]={1,2,3,4,5,6,7,8,9,10,11,12}; char c='a',d,g; 则数值为4的表达式是(d ) A. a[g-c] B. a[4] C. a['d'-'c'] D. a['d'-c] 8. 以下程序段给数组所有的元素输入数据,请选择正确答案填入(a )。 #include main() { int a[10],i=0; while(i<10) scanf("%d",________ ); ┇

一维、二维数组及应用程序设计习题

一维、二维数组及应用程序设计习题 1、 【字符统计问题】 题目描述:试统计用户键盘输入的一串英文字符中每种英文字符个数。 题目要求:⑴相同英文字符的大小写形式视为同一种统计对象;⑵遇到任意非英文字符时统计终止;⑶输出数据时每行仅输出10个数据。 输入数据:abcdeABCDElKlhmn2 输出数据:A(2) B(2) C(2) D(2) E(2) F(0) G(0) H(1) I(0) J(0) K(1) L(0) M(1) N(1) O(0) P(0) Q(0) R(0) S(0) T(0) U(0) V(0) W(0) X(0) Y(0) Z(0) 2、 【约瑟夫(猴子选大王)问题】 题目描述:有M(1000以内)个猴子围成一圈,每个有一个编号,编号从1到M 。打算从中选出一个大王。经过协商,决定选大王的规则如下:从第一个开始,每隔N(任意正整数)个,数到的猴子出圈,最后剩下来的就是大王。 题目要求:从键盘输入M 、N(均为正整数),试编程计算哪一个编号的猴子将成为大王。 输入数据:15 3 输出数据:5 200 55 93 3、 【行列互换问题】 题目描述:试编程将一个二维数组行和列元素互换,存到另一个二维数组中。例如: A = B = 4、 【矩阵初始化问题】 题目描述:矩阵是线性代数中的重要概念及研究工具,在计算机算法设计中,我们常常选用二维数组之类的数据结构来描述矩阵。下图是两个4×4的下三角方阵(即行列相等)初始化后的状态,请编程输出任意方阵(用户从键盘输入方阵的行列值)的这类初始化状态。 A 4×4 = B 4×4 = 5、 【杨辉三角问题】 题目描述:杨辉三角(出自其1261年所著的《详解九章算法》,也叫贾宪三角或帕斯卡三角),它可以简单解释为由两个未知数和的幂次方运算后按某个未知数的降幂排列(或另一未知数的升幂排列)后的系数表(二项式定理)。比如(x+y)0 =1,系数为(1);(x+y)1 =x+y ,系数为(1、1);(x+y)2 =x 2 +2xy+y 2 ,系数为(1、2、1);(x+y)3 =x 3 +3x 2 y+3xy 2 +y 3 ,系数为(1、3、3、1)以及四次、五次、……等运算后所得的系数表,如下图(仅举5行): 题目要求:⑴利用一维数组试求用户给定行数的杨辉三角形;⑵利用二维数组试求用户给定行数的杨辉三角形(请尽力严格按照上图要求的输出格式)。 输入数据:5 输出结果:如上图如示。 1 2 3 4 5 6 1 4 2 5 3 6 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 0 0 0 2 3 0 0 4 5 6 0 7 8 9 10 0 0 0 7 0 0 4 8 0 2 5 9 1 3 6 10

一维数组练习题

一维数组练习题 一维数组练习题 1、以下对一维数组a进行正确初始化的是__________。 A) int a[10]=(0,0,0,0,0); B) int a[10]={ }; C) int a[ ]={0}; D) int a[10]={ 10*2}; 2、以下一维数组a的正确定义是________ 。 A) int a(10); B) int n=10,a[n]; C) int n; D) #define SIZE 10 scanf("%d",&n); int a[SIZE]; int a[n]; 3、执行下面的程序段后,变量k中的值为__________。 int k=3,s[2]; s[0]=k; k=s[1]*10; A) 不定值B) 33 C) 30 D) 10 4、下列程序执行后的输出结果是__________。 main() {int a,b[5]; a=0; b[0]=3; printf("%d,%d\n",b[0],b[1]); } A) 3,0 B) 3 0 C) 0,3 D) 3,不定值 5、已知数组a的赋值情况如下所示,则执行语句a[2]++;后a[1]和a[2]的值 分别是________。 a[0] a[1] a[2] a[3] a[4] ┌──┬──┬──┬──┬──┐ │ 10 │ 20 │ 30 │ 40 │ 50 │ └──┴──┴──┴──┴──┘

A) 20和30 B) 20和31 C) 21和30 D) 21和31 6、以下程序输出a数组中的最小值及其下标,在划线处应填入的是________。main( ) { int i,p=0,a[10]; for(i=0;i<10;i++) scanf("%d",&a[i]); for(i=1;i<10;i++) if(a[i] printf("%d,%d\n",a[p],p); } A) i=p B) a[p]=a[i] C) p=j D) p=i 7、以下程序的输出结果是________。 main( ) { int i,p=0,a[10]={1,5,9,0,-3,8,7,0,1,2}; for(i=1;i<10;i++) if(a[i] printf("%d,%d\n",a[p],p); } A) -3,4 B) 0,1 C) 9,2 D) 2,9 8、有如下说明: int a[10]={0,1,2,3,4,5,6,7,8,9}; 则数值不为9的表达式是________。 A) a[10-1] B) a[8] C) a[9]-0 D) a[9]-a[0] 9、有如下程序 main() { int n[5]={0,0,0},i,k=3; for(i=0;i

数组练习题及答案

数组练习题及答案 第五章数组练习题及答案 一、选择题 1、判断字符串a和b是否相等,应当使用() A、if(a==b) B、if(a=b) C、if(strcpy(a,b)) D、if(strcmp(a,b)) 2、以下正确的定义语句是() A、int a[1][4]={1,2,3,4,5}; B、float x[3][]={{1},{2},{3}}; C、long b[2][3]={{1},{1,2},{1,2,3}}; D、double y[][3]={0}; 3、以下各组选项中,均能正确定义二维实型数组a的选项是() A、float a[3][4]; float a[ ][4]; float a[3][ ]={{1},{0}}; B、float a(3,4); float a[3][4]; float a[ ][ ]={{0},{0}}; C、float a[3][4]; static float a[ ][4]={{0},{0}}; auto float a[ ][4]={{0},{0},{0}}; D、float a[3][4]; float a[3][ ]; float a[ ][4]; 4、下面程序的运行结果是() 1—5 DDCBA 6—10 BDABB 11—15 CCCBC 16—20 DDCBB 21—25 BBAAA 26—30 DBDDB #include "stdio.h" main() { char str[]="SSSWLIA",c; int k; for(k=2;((c=str[k])!='\0');k++) { switch(c) {case 'I':++k;break;

PHP数组练习及答案

1.一维数组是最简单的数组,其定义形式是?$arr = array()或者$arr = []; 2.怎么判断一个变量是否为空,怎么判断一个变量是否存在?empty($str); isset($str); 3.如何获取数组$arr = array(array(‘a’,’b’,’c’));中的 值’c’ ? $arr[0][2]; 4.如何定义一个三维数组? $arr = array(array(array()));或者$arr = [[[]]]; 5.怎么才能从数组$multi_array中找出值cat? $multi_array = array( "red","green", 42 => "blue", "yellow" => array("apple",9 => "pear","banana", "orange" => array("dog","cat","iguana")) ); $multi_array[‘yellow’][‘orange’][1]; 6.下面数组$arr中,打印$arr[1][1]输出的值是什么? $arr = array( array('jack','boy',23,'18nan'=>array(18000,180,18)), array('rose','girl',18) );

答案:girl 7.遍历输出数组$arr = array(1=>’ff’,‘aa,’dd,’cc’,’eee’); foreach($arr as $value){ echo $value; } 8.求数组$arr = array(‘qwer,’jkls’,’cc’,’eee’)中元素 的个数。 答案:count($arr); 9.运行下面代码输出的内容是? $arr=array(5=>1,12=>2); $arr[]=3; $arr["x"]=4; print_r($arr); echo "
"; unset($arr[5]); print_r($arr); echo "
"; unset($arr); print_r($arr); Array( [5] => 1 [12] => 2 [13] => 3 [x] => 4 ) _____________________________________________ Array([12] => 2 [13] => 3 [x] => 4) ______________________________________________

一维数组练习

一维数组练习 一维数组练习 6.1 定义如下数组 1.表示20中商品的价格; 2.表示30件邮件的安全邮递情况; 3.统计50个学生在一次考试(满分100,最低分60)中各分数的分布情况; 4.统计一篇文章中各字母的出现频率(所有字母均小写)。 6.2 按照顺序读入十个数据,以逆序的范式输出。X 6.3 计算并输出s =∑=10 1i XiYi , 其中,Xi 的值为1,3,5,7,……17,19,Yi 的值为21,22,23,……,29,30。 6.4 将a 数组中第一个元素移到最后数组末尾,其余数据依次往前平移一个位置。如:输入 1 2 3 4 5 输出 2 3 4 5 1 6.5 对数组a,输入一个测试数据x ,如果x 存在于数组a,则把x 元素删除;否则将x 插入相应的位置,要求数组仍然有序(假设数组递增)。 6.6编程输入十个正整数,然后自动按从大到小的顺序输出。 6.7 从键盘输入若干个数,将它们按照从小到大的顺序输出。 一维数组的应用 6.8 将一个十进制整数转化成二进制数 6.9总务室在商店购买了八种文具用品,其数量及单价如下表: 序号 1 2 3 4 5 6 7 8 品名圆珠笔铅笔笔记本订书机计算器三角板圆规文件夹 件数 24 110 60 16 26 32 32 42 单价 1.18 0.45 1.8 8.8 78.50 3.28 4.20 2.16 编程计算各物品计价及总计价。

6.10用筛法求出100以内的全部素数,并按每行五个数显示。(要得到不大于某个自然数N 的所有素数,只要在2---N 中将不大于N 的素数的倍数全部划去即可) 6.11投票问题。竞选时,要求选民在A 、B 、C 、D 四个候选人中选择(人数不限),如果选择了ABCD 以外的人员,则视为废票。统计时输入“#”结束,请按候选人 的得票数从大到小顺序输出候选人及其得票情况。 6.12在一次宴会上,有来自八个不同国家的宾客被安排在同一张圆桌就坐。A是中国人,会讲英语;B是意大利人,他能讲西班牙语;C是英国人,会讲法语;D是日本人,能讲汉语;E是法国人,会讲德语;F是俄国人,懂意大利语;G是西班牙人,能讲日语;最后一个是德国人,懂俄语。编程序安排他们的座位,使他们在各自的座位上能方便地跟两旁的客人交谈。

一维数组程序设计习题

一维数组程序设计习题 1、【逆序输出问题】 题目描述:按照顺序从键盘读入十个数据,以逆序方式输出。 输入数据:1 2 3 4 5 6 7 8 9 10 输出结果:10 9 8 7 6 5 4 3 2 1 2、【数组元素的移动问题】 题目描述:将元素个数为10的数组a中的第一个元素移到数组末尾,其余数据依次往前平移一个位置,请编程实现。 输入数据:1 2 3 4 5 6 7 8 9 10 输出结果:2 3 4 5 6 7 8 9 10 1 3、【斐波那契数列问题】 题目描述:有这样一种数列:1、1、2、3、5、8、……,这个数列的特点是:第1、2两个数为1,1,从第3个数开始,该数是其前面两个数之和。这种数列被称为Fibonacci(斐波那契)数列,请编程输出斐波那契数列的前20项(用一维数组完成)。 输出结果:1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765 4、【求和问题】 题目描述:编程计算并输出S=∑ = 10 1 i i i y x 其中,Xi的值为1、8、5、7、2、99、34、67、2589、19,Yi的值为2、22、14、3、7、9、11、8、132、30。 输出结果:344402 5、【排序问题】 题目描述:从键盘输入10个数,将它们按照从小到大的顺序输出。 输入数据:72 98 79 66 39 95 96 25 5 37 输出结果:5 25 37 39 66 72 79 95 96 98 6、【进制转换问题】 题目描述:请编程将一个从键盘输入的十进制整数转化为二进制数输出。 输入格式:32570 输出格式:111111********* 7、【圆环找数问题】 题目描述:有一组数,其排列形式如下:11,19,9,12,5,20,1,18,4,16,6,10,15,2,17,3,14,7,13,15,8且尾部8和头部11首尾相连,构成环形的一组数,编程找出相邻的4个数,其相加之和最大,并给出它们的起始位置。 输出结果:58 19 8、【质数问题】 题目描述:用筛选法求100之内的质数,要求每行输出5个数据。 输出结果:2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97

C#数组知识点与练习题

一维数组:数据类型【】数组名=new 数据类型【元素个数】 二维数组:数据类型【,】数组名=new 数据类型【行数,列数】 如: int[] prices=new int[5]; int[,] ids=new int[3,4]; 定义数组时将数组初始化,初始化方式如下: 一维数组:数据类型【】数组名={元素1,元素2……}; 二维数组:数据类型【,】数组名={{第1行元素},{第2行元素},{}……};如: int[] prices={1,2,3,4,5}; int[,] prices={{1,2,3},{4,5,6},{7,8,9}} 假设一维数组a和二维数组b,下标和数组元素的对应如图: 二维数组b: ●int[] prices=new int[5]{1,2,3,4,5};定义一个数组,并用后面的数据依次初始化 等效于:int[] prices={1,2,3,4,5};或者int[] prices= new int[]{1,2,3,4,5}; ●int[] prices=new int[5];定义一个5个元素的数组,数组元素初始化为零 ●int[] prices=new int[5]{1,2,3};错误,初始化的元素个数不够 ●int[] prices={};正确但是没有意义,定义了零个元素的数组 ●int[] prices;定义一个一维数组变量,默认值为0,但是没有任何元素。 ●int[,] prices={{1,2,3},{4,5,6},{7,8,9}}; 练习题: 1.输入5个数,求其中最大值。

2.求一个3阶数字矩阵对角线的和,数字矩阵如下: 1 2 3 4 5 6 7 8 9

C语言数组练习题

C程序设计(数组)12.23 【题1】在C 语言中,引用数组元素时,其数组下标的数据类型允许是 C 。 A)整型常量B)整型表达式 C)整型常量或整型表达式D)任何类型的表达式 【题2】C语言中,数组名代表B A.数组全部元素的值B.数组首地址 C.数组第一个元素的值D.数组元素的个数【题3】以下对一维整型数组a 的正确说明是。 A)int a(10); B)int n=10,a[n]; C) int n; D)#define SIZE 10 scanf(“%d”,&n);int a[SIZE]; int a[n]; 【题4】合法的数组定义是D A.int a[ ]=”string”;B.int a[5]={0,1,2,3,4,5}; C.char a=”string”;D.char a[ ]={0,1,2,3,4,5}; 【题5】若有定义和语句:char s[10]; s=”abcd”; printf(“%s\n”,s); 则结果是(以下u代表空格)D A.输出abcd B.输出a C.输出abcd u u u u u D.编译不通过 【题6】有以下语句,则下面是正确的描述B

static char x [ ]=“12345”;static char y[ ]={‘1’,‘2’,‘3’,‘4’,‘5’}; A.x数组和y数组的长度相同。A B.x数组长度大于y数组长度。 C.x数组长度小于y数组长度 D.x数组等价于y数组。 【题7】若有说明:int a[10];则对a 数组元素的正确引用是 D 。 A)a[10] B)a[3.5] C)a(5) D)a[10-10] 【题8】在C 语言中,一维数组的定义方式为:类型说明符数组名C ; A)[整型常量表达式] B)[整型表达式] C)[整型常量] 或[整型表达式] D)[常量] 【题9】以下能对一维数组a 进行正确初始化的语句是C。 A)int a[10]=(0,0,0,0,0); B)int a[10]={}; C)int a[]={0}; D)int a[10]=”10*1”; 【题10】对以下说明语句的正确理解是 B 。 int a[10]={6,7,8,9,10}; A)将5 个初值依次赋给a[1]至a[5] B)将5 个初值依次赋给a[0]至a[4] C)将5 个初值依次赋给a[6]至a[10] D)因为数组长度与初值的个数不相同,所以此语句不正确【题11】若已定义数组:float a[8];则下列对数组元素引用正确的是 A 。

C语言数组练习及答案之欧阳索引创编

第四部分数组 欧阳家百(2021.03.07) 4.1选择题 1. 以下关于数组的描述正确的是(c )。 A. 数组的大小是固定的,但可以有不同的类型的数组元素 B. 数组的大小是可变的,但所有数组元素的类型必须相同 C. 数组的大小是固定的,所有数组元素的类型必须相同 D. 数组的大小是可变的,可以有不同的类型的数组元素 2. 以下对一维整型数组a的正确说明是(d )。 A.int a(10); B. int n=10,a[n]; C.int n; D. #define SIZE 10 scanf("%d",&n); int a[SIZE]; int a[n]; 3. 在C语言中,引用数组元素时,其数组下标的数据类型允许是(c )。 A. 整型常量 B. 整型表达式 C. 整型常量或整型表达式 D. 任何类型的表达式 4. 以下对一维数组m进行正确初始化的是(c )。

A. int m[10]=(0,0,0,0) ; B. int m[10]={ }; C.int m[ ]={0}; D. int m[10]={10*2}; 5. 若有定义:intbb[ 8];。则以下表达式中不能代表数组元bb[1]的地址的是(c )。 A. &bb[0]+1 B. &bb[1] C. &bb[0]++ D.bb+1 6. 假定int类型变量占用两个字节,其有定义:int x[10]={0,2,4};,则数组x在内存中所占字节数是(d )。 A. 3 B.6 C. 10 D. 20 7. 若有以下说明: int a[12]={1,2,3,4,5,6,7,8,9,10,11,12}; char c='a',d,g; 则数值为4的表达式是(d ) A.a[g-c] B. a[4] C. a['d'-'c'] D. a['d'-c] 8. 以下程序段给数组所有的元素输入数据,请选择正确答案填入(a )。 #include main() { int a[10],i=0; while(i<10) scanf("%d",________ ); ┇ } A. a+(i++) B. &a[i+1] C.a+i D. &a[++i] 9. 执行下面的程序段后,变量k中的值为(a )。 int k=3, s[2]; s[0]=k; k=s[1]*10; A. 不定值 B.33 C. 30 D. 10 10. 以下程序的输出结果是(c ) main() { inti,a[10]; for(i=9;i>=0;i--) a[i]=10-i;

c语言数组习题

数组练习解答 1 定义一个名为a的单精度实型一维数组,长度为4,所有元素的初值均为0的数定义语句是___________ 【分析】按照一般数据定义语句的格式,可以直接写出方法一〔参看答案〕;考虑到所有元素均赋初值时可以省略数组长度,可以写出方法二〔参看答案〕;考虑到不省略数组长度,给局部元素赋初值时,所有未赋初值的元素均有空值〔对数值型数组来说,初值为0〕,可以写出方法三〔参看答案〕;考虑到选用静态型,不赋初值所有元素也自动赋予。空值〔对数值型数组来说,初值为0〕,可以写出方法四〔参看答案〕。 【答案】方法一:float a[4]={0.0,0.0,0.0,0.0}; 方法二:float a[]={ 0.0,0.0,0.0,0.0}; 方法三:float a[4]= {0.0}; 方法四: static float [4]; 2 以下数组定义语句中,错误的选项是〔〕 ① char x[1]='a';②auto char x[1]={0}; ③ static char x[l];④ char x[l]; 【分析】显然答案①中给字符型数组赋初值的格式不对〔不能直接赋予字符常量,必须用花括号括住〕,所以备选答案①是符合题意的答案。 【答案】① 3 用"冒泡排序法"对n个数据排序,需要进行n一1 步。其中第k步的任务是:自下而上,相邻两数比拟,小者调上;该操作反复执行n-k次。现在假设有4个数据:4、l、3、2要排序,假定4为上、2为下,那么利用"冒泡排序法"执行第2步后的结果是_________________。 【分析】开始排序前的排列执行第1步后的排列执行第2步后的排列 4 1 1 1 4 2 3 2 4 2 3 3 【答案】 l、2、4、3 4 用"选择排序法"对n个数据排序,需要进行n-1步。其中第k步的任务是:在第k个数据到第n个数据中寻找最小数,和第k个数据交换。现在假设有4个数据:4、1、3、2要排序,那么利用"冒泡排序法"执行第2步后的结果是______________________。 【分析】开始排序前的排列为: 4 1 3 2 执行第1步后的排列为: 1 4 3 2 执行第2步后的排列为: 1 2 3 4 【答案】1、2、3、4 5 以下数组定义语句中,正确的选项是〔〕 ① int a[][]={1,2,3,4,5,6};② char a[2]「3]='a','b'; ③ int a[][3]= {1,2,3,4,5,6};④ static int a[][]={{1,2,3},{4,5,6}}; 【分析】C语言规定,二维数组定义时不允许省略第二维的长度,所以备选答案①④是错误的。C语言还规定,定义字符型数组时不允许直接使用"字符常量"的方式赋初值,所以备选答案②也是错误的。显然备选答案③符合题意。【答案】③ 6 定义一个名为"s"的字符型数组,并且赋初值为字符串"123"的错误语句是〔〕 ①char s[]={‘1','2','3','\0 '};②char s「」={"123"}; ③char s[]={"123\n"}; ④ char s[4]={'1','2','3'}; 【分析】备选答案①中省略了数组长度,所以每个元素都赋了初值,共计4个元素,初值依次为'l'、'2'、'3'、'\0',最后一个元素的值为字符串结束标记,所以数组S中存放的是字符串"123",该答案不符合题意〔即正确的〕;备选答案③中直接赋予字符串作为初值所以数组s的长度为4,其中的初值是字符串"123",不符合题意〔即正确的〕;备选答案③中也是给数组s赋予字符串的初值,但是字符串不是"123",而是"123\n",所以该答案符合题意〔即错误的〕;显然答案④也不符合题意〔即正确的〕。下面来分析

C语言数组练习及答案

第四部分数组 4.1选择题 1.以下关于数组的描述正确的是(c} A.数组的大小是固定的,但可以有不同的类型的数组元素 B.数组的大小是可变的,但所有数组元素的类型必须相同 C.数组的大小是固定的,所有数组元素的类型必须相同 D.数组的大小是可变的,可以有不同的类型的数组元素 2.以下对一维整型数组a的正确说明是(d)。 A.inta(10); C.intn; scanf("%d",&n); inta[n]; B.intn=10,a[n]; D.#defineSIZE10inta[SIZE]; 3.在C语言中,引用数组元素时,其数组下标的数据类型允许是(c)。 A.整型常量 B.整型表达式 C.整型常量或整型表达式 D.任何类型的表达式 页脚内容1

4.以下对一维数组m进行正确初始化的是(c)。 A.intm[10]=(0,0,0,0); B.intm[10]={}; C.intm[]={0}; D.intm[10]={10*2}; 5.若有定义:intbb[8];。则以下表达式中不能代表数组元bb[1的地址的是(c> A.&bb[0]+1 B.&bb[1] C.&bb[0]++ D.bb+1 6.假定int类型变量占用两个字节,具有定义:intx[10]={0,2,4};,则数组x在内存中所占字节数是(d) A.3 B.6 C.10 D.20 7.若有以下说明: inta[12]={1,2,3,4,5,6,7,8,9,10,11,12}; charc='a',d,g; 则数值为4的表达式是(d) A.a[g-c] B.a[4] C.a['d'-'c'] D.a['d'-c] 8.以下程序段给数组所有的元素输入数据,请选择正确答案填入(a)。 #includemain() { inta[10],i=0; while(i<10)scanf("%d",); 页脚内容2 ) A.a+(i++) B.&a[i+1] C.a+i D.&a[++i] 9.执行下面的程序段后,变量k中的值为(a)。 intk=3,s[2];

相关文档
最新文档