广东海洋大学C++程序设计_数组的练习题.ppt_第1页
广东海洋大学C++程序设计_数组的练习题.ppt_第2页
广东海洋大学C++程序设计_数组的练习题.ppt_第3页
广东海洋大学C++程序设计_数组的练习题.ppt_第4页
广东海洋大学C++程序设计_数组的练习题.ppt_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、a,1,数组声明为int a3, 不是数组元素。 A)a0 B)a1 C)a2 D)a3 2 下列语句中, 能正确输出结果:C+。 A) char s=C+;coutsendl; B) char s3=C+;coutsendl; C) char s3=C,+,+,0;coutsendl; D) char s3=C,+,+;coutsendl; 3以下数组定义中,不正确的是 A) int b3=0,1,2,3; B) int d3=1,2,1,2,3,1,2,3,4; C) int c100100=0; D) int a23;,D,A,一、选择题:,B,a,2,4、下列给字符数组进行初始化中,

2、是正确的。 A) char s423=xyz,abc; B) char s1=xyz; C) char s3=x,y,z; D) char s23=xyz; 5、以下选项中,不能正确赋值的是 A) char s4=Ctestn123; B) char s320=Ctest; C) char s2=C, t, e, s, t; D) char s110;s1=Ctest; E) int a = string,B,D,E,a,3,6、有以下程序段: intb33=0,1,2,0,1,2,0,1,2,I,j,t=1; for(I=0;I3;I+) for(j=I;j=I;j+) t=t+bIbjj;

3、 其t的值是 A) 1 B) 9 C) 4 D) 3 7、当调用函数时,实参是一个数组名,则向函数传送的是 A) 数组的长度 B) 数组的首地址 C) 数组每一个元素的地址 D) 数组每个元素中的值,C,B,a,4,8、int i,x33 = 1,2,3,4,5,6,7,8,9;for(i = 0;i 3;i +)printf(“%d ”,xi2-i); 其输出结果是_。a 1 5 9 b 1 4 7c 3 5 7 d 3 6 9 9、在C+语言中,数组下标的数据类型允许是_。a.只能整型常量 b.只能整型表达式c.整型常量或整型表达式d.任何类型的表达式,C,C,a,5,10、下面程序的运行

4、结果是_。char c5 = a,b,0,c,0; printf(%s,c);a. a bb.abc.ab c d.以上三个答案均有错误,B,a,6,二 下列程序有无错误:,1、,#include #include void main() int a=1,2,3,4,5; coutaendl; ,for(int i=0;i5;i+) coutai=ait;,a,7,2、,#include #include void main() char oripassword=1234; char userpassword10; coutuserpassword; if(userpassword=oripa

5、ssword) cout欢迎进入!n; else cout非法用户!n;,if(strcmp(userpassword,oripassword)=0)。,a,8,3、,#include double avg(double,int); void main() double math4=78.5,44.3,99.5,72.6; double chem6=88,65.5,79.8,88.4,84.6,92; coutaverage of math=avg(math,4)endl; coutaverage of chem=avg(chem,6)endl; double avg(double score

6、,int n) int i; double sum=score0; for(i=1;in;i+) sum+=scorei; return sum/n;,double avg(double,int);,a,9,三 程序填空题:,1程序读入20个整数,统计非负数个数,并计算非负数之和。,#include void main(void) int i,a20,s,count;s = count = 0;for(i = 0;i 20;i +)scanf(%d, );for(i = 0;i 20;i +) if(ai 0) ;s += ai;count +; printf(s = %dt count =

7、%dn,s,count);,for(i=0;i12;i+) scanf(%d,ij,ai=aj-1,aj-1=t,a,11,3 函数index(char s,char t)检查字符串s中是否包含字符串t, 若包含,则返回t在s中的开始位置(下标值),否则返回-1。,int index(char s,char t)int i,j,k;for(i = 0;si != 0;i +)for(j = i,k = 0; ,a,12,#include #include int n1=0,n2=0,n3=0; void count(char c,char x) if(cx) n1+; else if(c=x)

8、 n2+; else n3+; void main() char s20,ch; int n; couts; coutch; n=strlen(s); for(int i=0;in;i+) count(si,ch); coutn1=n1 n2=n2 n3=n3endl; ,1:从键盘上输入一个字符串,然后再输入一个字符,分别统 计出字符串中大于、小于和等于这个字符的字符个数。,分析:将字符串存放在字符数组s中,字符存放在ch中,然后 调用count()函数比较s中的每个字符si与ch的大小, 若si大于ch,n1计数;si等于ch,n2计数;si小于ch, n3计数。在C+语言中一个函数只能返

9、回一个值,所以, 将n1、n2和n3声明为全局变量,以便在main()函数中可 见。,a,13,#include void RowSum(int A 4, int nrow) int sum; for (int i = 0; i nrow; i+) sum = 0; for(int j = 0; j 4; j+) sum += Aij; cout Sum of row i is sum endl; void main(void) int Table34 = 1,2,3,4,2,3,4,5,3,4,5,6; for (int i = 0; i 3; i+) for (int j = 0; j 4

10、; j+) cout Tableij endl; RowSum(Table,3); ,2:主函数中初始化一个矩阵并将每个元素都输出,然后调用 子函数,分别计算每一行的元素之和,将和直接存放在每 行的第一个元素中,返回主函数之后输出各行元素的和。,运行结果: 1 2 3 4 2 3 4 5 3 4 5 6 Sum of row 0 is 10 Sum of row 1 is 14 Sum of row 2 is 18,a,14,#include stdio.h main() char pass_str80; /*定义字符数组passstr*/ int i=0; while(1) clrscr()

11、; printf(请输入密码n); gets(pass_str); /*输入密码*/ if(strcmp(pass_str,“password”)!=0) /*口令错*/ printf(口令错误,按任意键继续); else break; /*输入正确的密码,中止循环*/ getch(); i+; if(i=3) exit(0); /*输入三次错误的密码,退出程序*/ 输入正确密码所进入的程序段 ,3:简单密码检测程序,a,15,4:统计字符串中每个字符出现的次数。 基本思路:开一个“统计数组”记录每个字符出现的次数。 关键:每个字符与数组中进行统计记数元素之间的对应关系。 根据ASCII码的性

12、质,将字符作为统计数组中元素的下标。 #include main ( ) int count128=0; /* 统计数组,初始化时全为 0 */ char line200;int k=0; printf (”nEnter String:”); gets (line); while ( linek != 0 ) /* 对字符个数进行统计 */ count line k+ +; /* 将字符作为下标*/ for (k=0; k0 ) printf (”%c=%dt”, k,countk); ,a,16,三 编程:,1.求一个33矩阵对角线元素之和。 2.编程求两矩阵相加。 3.找出二维数组23,435,765,78,213,657, 643,765,881的鞍点 所谓“鞍点”是指在本行中值最大,本列中值最小。 4.有一已经排好序的数组(1,4,6,9,13,19,28,40,100) 输入一个数5,要求按原来排序的规律将它插入到数组中。 5.使用字符串处理

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论