数组作业答案

数组作业答案
数组作业答案

1、编写程序,产生50个互不相同的10~99的随机整数,统计各数值段(10~19,20~29,….80~89,90~99)有多少个数并输出。

提示:可另用数组b来存各分数段的人数,并用b(1)存10~19分的人数, b(2)存20~29分的人数,… b(9)存90~99分的人数。

关键代码:k = Int(a(i) / 10)

b(k) = b(k) + 1

Private Sub Form_Click()

Dim a(1 To 50) As Integer, i As Integer

Dim b(1 To 9) As Integer, k As Integer

For i = 1 To 50

a(i) = Int(Rnd * 90 + 10)

Print a(i);

If i Mod 10 = 0 Then Print

k = Int(a(i) / 10)

b(k) = b(k) + 1

Next i

Print

For i = 1 To 9

Print (i * 10) & "~" & (i * 10 + 9) & "的学生人数:" & b(i) Next i

End Sub

2、设有如下两组数据。编写一个程序,把两组数据分别读入两个数

组中,然后把两个数组中对应下标的元素相加,即2+79,8+27,…,25+80,并把相应的结果放入第三个数组中,最后输出第三个数组的值。

A 2 8 7 6 4 28 70 25

B 79 27 32 41 57 66 78 80

关键代码:c(i) = a(i) + b(i)

Private Sub Form_Click()

Dim a, b, c(7)

a = Array(2, 8, 7, 6, 4, 28, 70, 25)

b = Array(79, 27, 32, 41, 57, 66, 78, 80)

For i = 0 To 7

c(i) = a(i) + b(i)

Next i

For i = 0 To 7

Print c(i);

Next i

End Sub

3、产生10个互不相同的10~99的随机整数,将这10个值交换并输出,交换规则如下:

第1个与第10个交换

第2个与第9 个交换

第3个与第8 个交换

第4个与第7 个交换

第5个与第6 个交换

Private Sub Form_click()

Dim a(1 To 10) As Integer

Print "原始数组如下:"

For i = 1 To 10

a(i) = Int(Rnd * 90 + 10)

Print a(i);

Next i

Print '换行

For i = 1 To 5 '注意:只能交换5次

temp = a(i): a(i) = a(11 - i): a(11 - i) = temp

Next i

Print "交换之后的数组如下:"

For i = 1 To 10

Print a(i);

Next i

End Sub

4、在文本框中输入一串字符,统计各字母出现的次数并将结果显示在图片框中(不区分字母的大小写)。

提示:英文字母共26个,可以分为26类。用数组的26个元素分别保存每种字母出现的次数。从输入的字符串中逐一取出字符,转换

成大写字符来判断。再求得其在数组中的下标。

关键代码:j = Asc(c) - 65 + 1

A(j)=A(j)+1

Private Sub Command1_Click()

Dim a(1 To 26) As Integer, c As String * 1

lenS = Len(Text1) '求字符

串的长度

For I = 1 To lenS

c = UCase(Mid(Text1, I, 1)) '取一个

字符,转换成大写

If c >= "A" And c <= "Z" Then

j = Asc(c) - 65 + 1 '将A~Z大写字母转换成1~26的下标

a(j) = a(j) + 1 '对应数

组元素加1

End If

Next I

n = 1

For j = 1 To 26 '输出字母及其出现的次数

If a(j) > 0 Then

If n > 6 Then n = 1: Picture1.Print

Picture1.Print " "; Chr(j + 64); "=";

a(j);

n = n + 1

End If

Next j

End Sub

5、采用控件数组编写一个简单的计算器。要求该计算器能够实现简单的加、减、乘、除运算。

Private Sub Command1_Click(Index As Integer)

Select Case Index

Case 0

Text3 = Val(Text1) + Val(Text2)

Case 1

Text3 = Val(Text1) - Val(Text2)

Case 2

Text3 = Val(Text1) * Val(Text2)

Case 3

Text3 = Val(Text1) / Val(Text2)

End Select

End Sub

6、下图所示程序利用7个LABEL1控件创建了一个控件数组,程序运行时单击窗体,在窗体上显示由7段组成的一个阿拉伯数字“5”。请自行创建程序界面,并修改下列代码,使之能显示7段组成的数字“3”。

Private Sub Form_Click()

Dim a As Variant

Me.BackColor = vbWhite

a = Array(1, 1, 1, 1, 1, 0, 0)

For i = 0 To 6

If a(i) = 1 Then

Label1(i).BackColor = vbRed Else

Label1(i).BackColor = vbWhite End If

Next i

End Sub

一维数组练习题

一维数组练习题 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]

VB数组的基本操作专项

数组的基本操作专项 1.下列VB程序功能为:根据文本框Text1中各字符的大小关系,计算各字符升序排列的序号,并将序号保存在数组y中。如文本框内容为“2011”,程序运行后y(1)~ y(4)各元素的值分别为“4,1,2,3”。 s = Text1.Text:n = Len(s) For i = 1 To n y(i) = 1 Next i For i = 1 To (1) For j = (2) To n If (3) Then y(j) = y(j) + 1 Else y(i) = y(i) + 1 End If Next j Next i 上述程序段3各方框处的表达式分别为() A. (1)n (2)1 (3)Mid(s, j, 1) >= Mid(s, i, 1) B. (1)n (2)1 (3)Mid(s, j, 1) > Mid(s, i, 1) C. (1)n-1 (2)i+1 (3)Mid(s, j, 1) >= Mid(s, i, 1) D. (1)n-1 (2)i+1 (3)Mid(s, j, 1) > Mid(s, i, 1) 2. 有如下VB程序段: inS = Text1.Text n = 0 For i = 1 To Len(inS) m=0 c = Mid(inS, i, 1) If c >= "a" And c <= "z" Then m = 1 ElseIf c >= "A" And c <= "Z" Then m = 2 ElseIf c >= "0" And c <= "9" Then m = 3 End If b(m) = b(m) + 1 If b(m) = 2 Then n = n + 1 Next i 已知数组b各元素初始值都为0,文本框Text1中的内容为“Welcome,2019!”,执行该程序段后,变量n的值为 A.0 B.1 C.2 D.3 3. 有如下 VB 程序段: For i = 2 To 8 For j = 1 To 8 - i If d(j) > d(j + 2) Then temp = d(j): d(j) = d(j + 2): d(j + 2) = temp Next j Next i 数组元素d(1)到d(8)的值依次为“71,54,58,29,31,78,2,77”,经过该程序段

Java_数组练习题目

一填空题 1)数组的元素通过数组下标来访问,数组Array的长度为元素的个数 (Array.length)。 2)Java中数组的下标的数据类型是整形。 3)不用下标变量就可以访问数组的方法是数组名。 4)数组最小的下标是0 。 5)arraycopy()的最后一个参数指明复制元素的个数。 6)向方法传递数组参数时,传递的是数组的引用。 7)数组初始化包括数组的声明,创建,初始化。 8)数组下标访问超出索引范围时抛出数组越界异常 9)浮点型数组的默认值是0.0f 。 10)对象型数组的默认值是null 。 二选择题 1.下面错误的初始化语句是_A B D__ A. char str[]="hello"; B. char str[100]="hello"; C. char str[]={'h','e','l','l','o'}; D. char str[]={'hello'}; 2.定义了一维int型数组a[10]后,下面错误的引用是_B_ A. a[0]=1; B. a[10]=2; C. a[0]=5*2; D. a[1]=a[2]*a[0]; 3.下面的二维数组初始化语句中,正确的是__B__ A. float b[2][2]={0.1,0.2,0.3,0.4}; B. int a[][]={{1,2},{3,4}}; C. int a[2][]= {{1,2},{3,4}}; D. float a[2][2]={0}; 4.引用数组元素时,数组下标可以是__D__ A. 整型常量 B. 整型变量 C. 整型表达式 D. 以上均可 5.定义了int型二维数组a[6][7]后,数组元素a[3][4]前的数组元素个数为__C__ A. 24 B. 25 C. 18 D. 17 6.下列初始化字符数组的语句中,正确的是_B___ A. char str[5]="hello"; B. char str[]={'h','e','l','l','o','\0'}; C. char str[5]={"hi"}; D. char str[100]=""; 7.数组在Java中储存在 C 中 A. 栈 B. 队列 C. 堆 D. 链表

C语言一维数组的基本操作

一.插入:C语言数组怎么插入一个元素#include #include #define MAX 40 void insert(int*p,int n,int m) { int i,k; for(i=0;i=m) { k=i; break; } for(i=n-1;i>=k;i--) p[i+1]=p[i]; printf("%d\n",k); p[k]=m; } void sort(int*p,int n) { int i,j; for(i=1;ip[j+1]) { int t; t=p[j+1]; p[j+1]=p[j]; p[j]=t; } } void main() { int a[MAX]; int n,i,m,d; printf("输入数据个数(n<40):"); d=scanf("%d",&n); while(d!=1&&n>=40) { system("cls"); f flush(stdin); printf("请重新输入:"); scanf("%d",&n); } printf("请输入数组元素:");

for(i=0;i #define N 10 void main( ) { int a[N] , num ,i , *p , n=N; int j; /*输入N个数到数组a中;*/ for(i=0;i

数组练习题

1.下面数组声明语句,_________正确。 A)Dim a[2,4] As Integer B)Dim a(2,4)As Integer C)Dim a(n,n)As Integer D)Dim a(2 4)As Integer 2.假定建立了一个名为Command1的命令按钮数组,则以下说法中错误的是________。 A)数组中每个命令按钮的名称(名称属性)均为Command1 B)数组中每个命令按钮的标题(Caption属性)都一样 C)数组中所有命令按钮可以使用同一个事件过程 D)用名称Command1(下标)可以访问数组中的每个命令按钮 3.数组声明语句Dim a(-2 to2,5)中,数组包含元素个数为________。 A)120 B)30 C )60 D)20 4.下面程序的输出结果是________。 Dim a a = Array(1,2,3,4,5,6,7) For i = Lbound(a)to Ubound(a) a(i)= a(i)* a(i) Next i Print a(i) A)36 B)程序出错C)49 D)不确定 5.下面程序的输出结果是________。 Option Base 1 Private Sub Command1_Click() Dim a%(3, 3) For i = 1 To 3 For j = 1To 3 If j > 1 And i > 1 Then a(i, j)= a(a(i - 1, j - 1), a(i, j - 1))+ 1 Else a(i, j)= i * j End If Print a(i, j); ""; Next j Print Next i End Sub A)1 2 3 B)1 2 3 C )1 2 3 D)1 2 3 2 3 1 1 2 3 2 4 6 2 2 2 3 2 3 1 2 3 3 6 9 3 3 3 6.在设定Option Base 0后,经Dim arr(3,4)As Integer 定义的数组arr含有的元素个数为________。 A)12 B)20 C )16 D)9 7.用Dim A (-3 To 5)As Integer语句定义的数组的元素个数是________。 A)6 B)7 C )8 D)9 8.有如下程序代码,输出结果是________。 Dim a()

MATLAB数组基本操作

1、向量的创建 1)直接输入: 行向量:a=[1,2,3,4,5] 列向量:a=[1;2;3;4;5] 2)用“:”生成向量 a=J:K 生成的行向量是a=*J,J+1,…,K+ a=J:D:K 生成行向量a=*J,J+D,…,J+m*D+,m=fix((K-J)/D) 3)函数linspace 用来生成数据按等差形式排列的行向量 x=linspace(X1,X2):在X1和X2间生成100个线性分布的数据,相邻的两个数据的差保持不变。构成等差数列。 x=linspace(X1,X2,n): 在X1和X2间生成n个线性分布的数据,相邻的两个数据的差保持不变。构成等差数列。 4)函数logspace用来生成等比形式排列的行向量 X=logspace(x1,x2) 在x1和x2之间生成50个对数等分数据的行向量。构成等比数列,数列的第一项x(1)=10x1,x(50)=10x2 X=logspace(x1,x2,n) 在x1和x2之间生成n 个对数等分数据的行向量。构成等比数列,数 列的第一项x(1)=10x1,x(n)=10x2 注:向量的的转置:x=(0,5)’ 2、矩阵的创建 1)直接输入:将数据括在[]中,同一行的元素 用空格或逗号隔开,每一行可以用回车或是 分号结束 如:a=[1,2,3;3,4,5],运行后: a = 1 2 3 3 4 5

2)函数eye,生成单位矩阵 eye(n) :生成n*n阶单位E eye(m,n):生成m*n的矩阵E,对角线元素为1,其他为0 eye(size(A)):生成一个矩阵A大小相同的单位矩阵 eye(m,n,classname):对角线上生成的元素是1,数据类型用classname指定。其数据类型可以是:duoble、single、int8、uint8、int16、uint16、int32、uint32 。 3)函数ones 用ones生成全1的矩阵ones(n) : 生成n*n的全1矩阵 ones(m,n) : 生成m*n的全1矩阵 ones(size(A)) : 生成与矩阵A大小相同的全1矩阵 ones(m,n,p,…)生成m*n*p*….的全1的多维矩阵 ones(m,n,…,classname)制定数据类型为 classname 4)函数zeros 函数zeros生成全0矩阵zeros(n):生成n*n的全0矩阵 zeros(m,n:)生成m*n的全0矩阵 zeros(size(A)): 生成与矩阵A大小相同的全0矩阵 zeros (m,n,p,…)生成m*n*p*….的全0的多维矩阵 zeros (m,n,…,classname)指定数据类型为 classname

c语言数组练习题大全

231页; 本节设计程序完成一个简单的学籍; 3管理系统的案例,学生的基本信息:学号,姓名,年龄,c 语言成绩。假设班级有10名学生,能实现以下功能: (1)输入10名学生的基本信息。 (2)输出10名学生的基本信息。 (3)输入学号、姓名,输出该学生的基本信息。 (4)按学号年龄对学生进行排序(升序),按c 语言成绩降序排序。 (5)统计优 良 不及格。 1.数据结构分析 此案例是一位数组,二维数组的综合运用。10名学生的学号,年龄,c 语言成绩可分别用长度为10的一位数组sno (long ),sage (int 型),cs (float 型)存储;10名学生的姓名可用元素长度为20个字符的一位数组,既字符型二维数组sname 存储。 2算法分析 使用模块化设计思想,进入系统主界面时有六个主要模块,输入学生的基本信息,输出学生的信息,查找学生 的基本信息,排序,统计,退出。学籍管理系统的机构功能框架,如图 5-28 所示。 图 5-28 学生管理系统的结构功能框架 5.5.2 奇数阶魔方矩阵 本节将实现技术矩魔方矩阵。 项目任务:用数组实现N 阶魔方矩阵(N 为奇数)。所谓的N 阶魔方矩阵是指把1~N*N 自然数按一定的方法排列成N*N 的矩阵,使得:任意行、任意列以及两个对角线上的数之和都为65。 5阶魔方如下: 17 24 1 8 15 输 入 学 生 的 基 本 信 息 输 出 学 生 的 信 息 查 找 学 生 的 基 本 信 息 排 序 统 计 退 出 学籍管理系统

23 5 7 14 16 4 6 13 20 22 10 12 19 21 3 11 18 25 2 9 本章习题: 1.设数组int a【N】的元素全部不相等,求a中最大元素和次大元素。 2.求有10个整数的数组a中奇数的个数和平均值,以及偶数个数和平均值。 3.统计输入的一串字符(“假设以‘\n’结束”)中,大写字母A,B...Z各出现的次数。 4.数组a:“1,7,9,11,13,15,17,19”;数组b:“2,4,6,8,10”两个数组合并为数组c;按升序排列。 5.输入10个数,将10个整数按升序排列输出,并且奇数在前,偶数在后。如果输入的10个数是:10 9 8 7 6 5 4 3 2 1,则输出:1 3 5 7 8 2 4 6 8 10 (编程提示、;可利用两个数组变量,一个用来存放输入的整数,输入后,对该数组进行排序,然后将数据复制到另一个数组中,先复制奇数再复制偶数)。 6.定义一个有10个元素的一位数组count ,从键盘上输入8个整数,将其按从大到小的顺序排列,并将排列后的数组输出。 7.求数组int a【M】【N】每行元素的平均值和平均最大的行号。 8.求A【M】【N】与B【M】【N】两矩阵的和矩阵C【M】【N】和差矩阵D【M】【N】(矩阵的值由键盘输入)。 9.有n个学生,每人考m门课。 (1)找出成绩最高的学生的学号和课程号 (2)找出有不及格课程的学生的学号及其各门课的全部成绩。 (3)求全部学生全部课程的平均分。

C语言算法锦集(六) 数组常用操作

数组常用算法: 查找: /*线性查找*/ int find(int num,int x[],int key) { int i,m=-1; for(i=0;ikey) high=mid-1; else low=mid+1; } return m; } /*折半查找(递归)*/ int b_search(int x[ ],int low,int high,int key) { int mid; mid=(low+high)/2; if(x[mid]==key) return mid; if(low>=high) return -1; else if(key

k++; return -1; } 分词: /*方法一*/ void fen(char s[][10],char str) { int i,j,k; for(i=0,j=0,k=0;str[i]!=0;i++) if(isalpha(a[i])) s[j][k++]=str[i]; else { s[j][k]=0; k=0; j++; } } } /*方法二*/ #include #include void main() { int i=0,n=0;char s[80],*p; strcpy(s,"It is a book."); for(p=s;p!='\0';p++) if(*p=='') i=0; else if(i==0) {n++;i=1;} printf("%d\n",n); getch(); } 排序: /*插入法排序*/ void sort(int a[],int n) { int i,j,t; for(i=1;i=0&&t

数组复习题.doc

数组复习题 1. 单项选择题 (1) int a[4]={5,3,8,9};其中a[3]的值为( D )。 A. 5 B. 3 C. 8 D. 9 (2) 以下4 个字符串函数中,( A )所在的头文件与其他3 个不同。 A. gets B. strcpy C. strlen D. strcmp (3) 以下4 个数组定义中,( D )是错误的。 A. int a[7]; B. #define N 5 long b[N]; C. char c[5]; D. int n,d[n]; (4) 对字符数组进行初始化,( B )形式是错误。 A. char c1[ ]={'1', '2', '3'}; B. char c2[ ]=123; C. char c3[ ]={ '1', '2', '3', '\0'}; D. char c4[ ]="123"; (5) 在数组中,数组名表示( C )。 A. 数组第1 个元素的首地址 B.数组第2 个元素的首地址 C. 数组所有元素的首地址 D.数组最后1 个元素的首地址 (6) 若有以下数组说明,则数值最小的和最大的元素下标分别是(B )。 int a[12] ={1,2,3,4,5,6,7,8,9,10,11,12}; A. 1,12 B. 0,11 C. 1,11 D. 0,12 (7) 若有以下说明,则数值为4 的表达式是(D )。 int a[12] ={1,2,3,4,5,6,7,8,9,10,11,12}; char c=’a’, d, g ; A. a[g-c] B. a[4] C. a['d'-'c'] D. a['d'-c] (8) 设有定义:char s[12]="string";则printf( "%d\n",strlen(s)); 的输出是 (A ) A. 6 B. 7 C. 11 D. 12 (9) 设有定义:char s[12] = "string"; 则printf("%d\n ", sizeof(s)); 的输出是( D )说明:sizeof是一个运算符,求变量或类型的长度 A. 6 B. 7 C. 11 D. 12 (10) 合法的数组定义是( A )。 A. char 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}

数组的综合应用例子

数组的综合应用例子 时间:2009-6-19 8:54:45 点击:1409 数组的综合应用 为了加深对数组的理解,下面结合一些常用算法的编程来更加深入地学习和使用数组。由于一维数组和二维数组是程序设计中最常用的数组形式,因此这里的举例均为一维和二维数组。 1.数组元素的输入和输出 [例5-12] 由用户输入5个数组元素的值并把它们输出在窗体上。 Option Explicit Private Sub Command1_Click() Dim a(1 To 5) As Integer, i As Integer For i=1 To 5 a(i)=InputBox("请输入第" & Str(i) & "个元素") Next For i=1 To 5 Print "a (";i; ")="; a(i) Next End Sub 程序运行后,单击命令按钮,执行事件过程Command1_Click。若输入5个值10,20,30,40,50,则窗体上显示的输出结果是: a(1)=10 a(2)=20 a(3)=30 a(4)=40 a(5)=50 程序中声明了一个具有5个元素的一维整型数组,分别用循环语句输入、输出数组元素的值。在循环体内,数组元素用循环控制变量i作下标,i值的不同就表示数组元素的不同。在程序中引用数组元素时,其下标可以使用表达式。只要表达式的结果不超出数组定义的上界和下界范围,下标表达式就是合法的。例如本例中,若i=2,则: a(i+1)的值为30; a(a(i+3)\10)的值为50。 下标表达式的值还可以是实数,此时VB将自动对其进行四舍五入取整。例如: a(1+0.4)的值是10; a(2+0.5)的值30。 2.数组元素插入删除

数组练习题及答案

第五章数组练习题及答案 一、选择题 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; case 'L':continue; default:putchar(c);continue; } putchar('*'); } } A、SSW* B、SW* C、SW*A D、SW 5、下面程序段是输出两个字符串中对应相等的字符。横线处应填入() char x[]="programming"; char y[]="Fortran"; int i=0; while(x[i]!='\0'&&y[i]!='\0')

一维数组练习题

维数组练习题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]

Matlab的基本操作及变量、数组及其答案

实验一Matlab的基本操作及变量、数组 一、实验目的: 1. 熟悉Matlab的开发环境,基本类型的Matlab窗口、工作空间和如何获得在线帮助。 2. 熟悉和掌握Matlab变量和数组的基本操作 二、实验内容: 1. Matlab的基本操作 1.3 先自定义一个变量,然后分别用8种不同的数字显示格式显示查看。 >> format compact >> a=3.14159265358979 a = 3.14159265358979 >> format long >> a a = 3.141592653589790 >> format short e >> a a = 3.1416e+000 >> format long e >> a a = 3.141592653589790e+000 >> format hex >> a a = 400921fb54442d11 >> format bank >> a a = 3.14 >> format + >> a a = + >> format rat >> a a = 355/113 >> format short >> a a = 3.1416 1.4 下面的语句用于画出函数()0.2 2x y x e- =在[0,10]区间的值 x = 0:0.1:10; y = 2*exp(-0.2*x); plot(x,y) 用Matlab编辑器创建一个m文件,把上述语句写入这个m文件并命名为“test1.m”,保存在当前路径中,然后在命令窗中键入test1,观察结果和运行程序后工作空间的变化.

如何清空工作区间数据? 键入 clear ; 如何关闭图像窗口? 键入close ; 除了在命令窗输入文件名,还可以怎样运行一个m 文件程序? 点击file ,打开m 文件,点击Run 按钮,运行m 文件程序。 如果希望在命令窗中显示x 和y 的所有取值,应对程序做出怎么样的修改? x = 0:0.1:10; y = 2*exp(-0.2*x); plot(x,y); x,y 1.5 通过以下两种方式得到关于exp 函数的帮助: (1) 在命令窗中输入help exp 命令; (2) 运用帮助空间窗口。思考,用什么指令可以直接打开帮助空间中关于exp 函数的说明? 键入doc exp ;或者点击help ,再点击product help ,键入exp 搜索. 1.6 假设x =3,y = 4,用Matlab 计算下列表达式: (1) () 23 2 x y x y - (2) 43x y (3) 24x x π- (4) 3 3x x x y - >> format compact >> x=3,y=4 x = 3 y = 4 >> x^2*(y^3)/(x-y)^2 ans = 576 >> 4*x/(3*y) ans = 1 >> 4/x*(pi*x^(-2)) ans = 0.4654 >> x^3/(x^3-y^x) ans = -0.7297 1.7 在当前目录下创建一个m 文件, 键入以下程序并保存,先把文件保存为“2.m ”,运行后观察结果,总结m 文件的文件名(包括Matlab 标识符)命名规则。对该文件重新命名后运行,保存运行结果。 t = -2*pi:pi/10:2*pi; y = abs(sin(t)); plot(t,y) >> 2 ans = 2 重新命名m 文件后运行的结果:

C#数组的基本操作

using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { int []A1 = new int[] { 0, 1, 2, 3 }; Console.WriteLine("The first Arry:\n"); foreach (int i in A1) Console.WriteLine(i.ToString() + " "); Console.WriteLine(); int []A2 = new int[] { 4, 5, 6, 7 }; Console.WriteLine("The Second Arry:\n"); foreach (int j in A2) Console.WriteLine(j+ " "); Console.WriteLine(); int[] A = new int[A1.Length + A2.Length]; Array.Copy(A1, A, 4); Array.Copy(A2, 0, A, 4, 4);//参数为别为(原数组,原数组起始位置,目标数组,目标数组起始位置,复制个数) Console.WriteLine("The Destination Array:\n"); foreach (int k in A) Console.WriteLine(k + " "); Console.WriteLine(); Array.Clear(A, 0, A.Length); foreach (int c1 in A) Console.WriteLine(c1 + " "); Console.WriteLine(); int []C1={0,1,2,3,4,5,6,7,8,9}; Array.Clear(C1, 1, 3); foreach(int c2 in C1) Console.WriteLine(c2+" "); Console.WriteLine(); int f = 2; int loca1 = Array.BinarySearch(A1, f); if (loca1 < 0) Console.WriteLine("不存在此元素\n");

Java数组练习题(带答案)

一填空题 1)数组的元素通过下标来访问,数组Array的长度为Array.length 。 2)数组复制时,"="将一个数组的引用传递给另一个数组。 3)JVM将数组存储在栈(堆或栈)中。 4)数组的二分查找法运用的前提条件是数组已经排序。 5)Java中数组的下标的数据类型是整型。 6)数组最小的下标是0 。 7)arraycopy()的最后一个参数指明复制元素的个数。 8)向方法传递数组参数时,传递的是数组的引用。 9)数组初始化包括数组的申明,创建和初始化。 10)数组下标访问超出索引范围时抛出数组越界异常 11)浮点型数组的默认值是0.0f 。 12)数组创建后其大小不能改变。 二选择题 1.下面错误的初始化语句是_ABD__ A. char str[]="hello"; B. char str[100]="hello"; C. char str[]={'h','e','l','l','o'}; D. char str[]={'hello'}; 2.定义了一维int型数组a[10]后,下面错误的引用是_B__ A. a[0]=1; B. a[10]=2; C. a[0]=5*2; D. a[1]=a[2]*a[0]; 3.下面的二维数组初始化语句中,正确的是____ A. float b[2][2]={0.1,0.2,0.3,0.4}; B. int a[][]={{1,2},{3,4}}; C. int a[2][]= {{1,2},{3,4}}; D. float a[2][2]={0}; 4.引用数组元素时,数组下标可以是_D___ A. 整型常量 B. 整型变量 C. 整型表达式 D. 以上均可 5.定义了int型二维数组a[6][7]后,数组元素a[3][4]前的数组元素个数为____ A. 24 B. 25 C. 18 D. 17 6.下列初始化字符数组的语句中,正确的是__B__ A. char str[5]="hello"; B. char str[]={'h','e','l','l','o','\0'}; C. char str[5]={"hi"}; D. char str[100]=""; 7.数组在Java中储存在 C 中 A. 栈 B. 队列 C. 堆 D. 链表 8.下面程序的运行结果是____ main() { int a[][]={{1,2,3},{4,5,6}}; System.out.printf("%d", a[1][1]); } A. 3 B. 4 C. 5 D. 6 9.下面程序的运行结果是_C___ main() {

C语言数组实例

一维 数组求平均值 main() {float b,s=0.0,aver,a[6]; int i; for(i=0;i<6;i++) scanf(%f,&a[i]); for(i=0;i<6;i++) s=s+a[i]; aver=s/6.0; printf(%f\n,aver); } 求数组中的最大值 main() {float max,s=0.0,a[6]; int i; for(i=0;i<6;i++) scanf(%f,&a[i]); max=a[0]; for(i=1;i<6;i++) if(maxa[i]) {min=a[i];j=i;} 牰湩晴尨最大最小值分别在:%d,%d\n,k,j); for(i=0;i<5;i++) printf( %f \n,a[i]);

} 查找数组中有无此项 main() {float a[9]={21,12,34,23,54,67,65,13,87}; int s,i; /*for(i=0;i<9;i++) scanf(%f,&a[i]); printf(\ );*/ 牰湩晴尨请输入要查找的数:); scanf(%d,&s); for(i=0;i<9;i++) if(a[i]==s) 灻楲瑮?有此项\n);break;} if(i==9) 牰湩晴尨无此项\n); } 判断是否为回文 main() {char a[100]; int s,d,i; 牰湩晴尨请输入:); gets(a); //输入一个字符串 s=i=0; for(i=0;i<100;i++) if(a[i]=='\0') d=i; d--; for(s=0;s<=d;s++) if(s<=d&&a[s]==a[d]) d--; else break; if(s>d) printf(%s是回文.\n,a); else

《C++数组》习题

《C++数组》习题 学号姓名 一、选择题 1、下列对字符数组进行初始化得语句正确得就是 A.char a[]= "Hello”; B。char a[][]={'H’,'e','l’,’l’,'o'}; C。char a[5]=”Hello"; ? D。char a[2][5]= {”Hello","World"}; 2、以下一维数组a得正确定义就是 A、int a(10) ; ?B.int n=10,a[n]; C.int n; ??? D.#define size 10 cin>〉n; ? inta[size]; int a[n]; 3、以下对二维数组a进行不正确初始化得就是 A、int a[2][3]={0}; B.inta[][3]={{1,2},{0}}; C、int a[2][3]={{1,2},{3,4},{5,6}}; D.int a[][3]={1,2,3,4,5,6); 4、执行以下程序后,s得值为 int a[]={5,3,7,2,1,5,4,lO); int s=0,k; for(k=0;k<8;k+=2) s+=*(a+k); A。17 B。27 C.13 D.无定值 5、为了判断两个字符串sl与s2就是否相等,应当使用 A、if (s1==s2) B、if (s1=s2) C、if(strcpy(S1,s2))

D。if(strcmp(s1,s2)==O) 6、有定义int a[2][5];,若a[0][1]得地址为x,则a[0][O]、a[1][3]地址分别为(假设一个整型数据占用两个字节得内存空间): A、x-2,x+14 ?B.x—1,x+7 C.x+1,x+7 ?D.x—1,x+14 7、若有定义float a[m][n];,且a[1][1]得地址为x,每个float 元素占用4个字节,则a[il[j]得地址为 A.x+4*(i-1)*n+4*(j-1) B、x+(i-1)*n+(j-1) C、x+4*(i-1)*j+(j-1)???D.x+4*i*j+4*j 二、填空题 1、char st[20]= "SEU\0\t\\"; ?cout〈

数组教学案例

《数组》教学案例 一、教材分析 《数组》是高等教育出版社出版的《vb程序设计教程》中第五章的教学内容。本章系统讲解了数组的基本概念和作用;数组的定义和引用;Option Base 1 ( 或 0) 语句、Array函数的使用;静态数组与动态数组的概念,以及动态数组的使用(包括定义、重定义 ReDim 、Preserve );一维数组与多维数组的概念,以及多维数组的使用;变量数组与控件数组的概念,以及控件数组的使用;应用数组解决实际问题的常用算法(在数组中查询某个元素的位置;数组元素逆序存放;选择法 / 冒泡法的排序操作;求最大值 / 最小值及其位置)。 本章之前学习了vb语言基础、函数过程和子过程、三大基本结构等概念。《数组》该章共分五个小节8课时,该教学案例是第1、2课时的内容。 二、教学目标 知识目标: 了解数组的基本概念和作用;理解在程序中正确使用数组的重要意义。 能力目标: 掌握数组的定义和数组元素的引用;学会在程序中正确使用数组。 情感目标: 在学习中培养学生理论联系实际,通过数组的学习培养学生分析问题解决问题的能力,并学会如何将前后所学知识融会贯通。 三、教学重点、难点 重点:数组的概念、数组的声明、维数、下标 难点:应用数组解决实际问题 四、学生分析 本次案例的对象是103级的学生,他们经过之前计算机公共基础课程的学习,已经初步掌握了利用计算机进行学习的方式,他们适应了传统的学习方式,更希望尝试新的教学方式,可以在学习过程中,利用学习基础好的同学带动其他同学形成共同协作学习、个别自主学习的良好学习氛围。 五、教学安排和准备 计算机、凌波教学软件、示范程序、ppt演示文稿。

相关文档
最新文档