您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 广东海洋大学C++程序设计_数组的练习题
C++程序设计课件设计制作:徐龙琴11数组声明为inta[3],不是数组元素。A)a[0]B)a[1]C)a[2]D)a[3]2下列语句中,能正确输出结果:C++。A)chars[]=C++;coutsendl;B)chars[3]=C++;coutsendl;C)chars[3]={'C','+','+','\0'};coutsendl;D)chars[3]={'C','+','+'};coutsendl;3以下数组定义中,不正确的是A)intb[][3]={0,1,2,3};B)intd[3][]={{1,2},{1,2,3},{1,2,3,4}};C)intc[100][100]={0};D)inta[2][3];DA一、选择题:BC++程序设计课件设计制作:徐龙琴24、下列给字符数组进行初始化中,是正确的。A)chars4[2][3]={xyz,abc};`B)chars1[]=xyz;C)chars3[][]={‘x‘,‘y‘,‘z‘};D)chars2[3]=xyz;5、以下选项中,不能正确赋值的是A)chars4[]=Ctest\n123;B)chars3[20]=Ctest;C)chars2[]={‘C‘,‘t‘,‘e‘,‘s‘,‘t‘};D)chars1[10];s1=Ctest;E)inta[]=stringBDEC++程序设计课件设计制作:徐龙琴36、有以下程序段:intb[3][3]={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+b[I][b[j][j]];其t的值是A)1B)9C)4D)37、当调用函数时,实参是一个数组名,则向函数传送的是A)数组的长度B)数组的首地址C)数组每一个元素的地址D)数组每个元素中的值CBC++程序设计课件设计制作:徐龙琴48、inti,x[3][3]={1,2,3,4,5,6,7,8,9};for(i=0;i3;i++)printf(“%d”,x[i][2-i]);其输出结果是____。a.159b.147c.357d.3699、在C++语言中,数组下标的数据类型允许是____。a.只能整型常量b.只能整型表达式c.整型常量或整型表达式d.任何类型的表达式CCC++程序设计课件设计制作:徐龙琴510、下面程序的运行结果是____。charc[5]={'a','b','\0','c','\0'};printf(%s,c);a.'a‘'b'b.abc.abcd.以上三个答案均有错误BC++程序设计课件设计制作:徐龙琴6二下列程序有无错误:1、#includeiostream.h#includestring.hvoidmain(){inta[]={1,2,3,4,5};coutaendl;}for(inti=0;i5;i++)couta[i]=a[i]'\t';}C++程序设计课件设计制作:徐龙琴72、#includeiostream.h#includestring.hvoidmain(){charoripassword[]=1234;charuserpassword[10];coutInputyourpassword:;cinuserpassword;if(userpassword==oripassword)cout欢迎进入!\n;elsecout非法用户!\n;}if(strcmp(userpassword,oripassword)==0)。C++程序设计课件设计制作:徐龙琴83、#includeiostream.hdoubleavg(double,int);voidmain(){doublemath[4]={78.5,44.3,99.5,72.6};doublechem[6]={88,65.5,79.8,88.4,84.6,92};coutaverageofmath=avg(math,4)endl;coutaverageofchem=avg(chem,6)endl;}doubleavg(doublescore[],intn){inti;doublesum=score[0];for(i=1;in;i++)sum+=score[i];returnsum/n;}doubleavg(double[],int);C++程序设计课件设计制作:徐龙琴9三程序填空题:1.程序读入20个整数,统计非负数个数,并计算非负数之和。#includestdio.hvoidmain(void){inti,a[20],s,count;s=count=0;for(i=0;i20;i++)scanf(%d,);for(i=0;i20;i++){if(a[i]0);s+=a[i];count++;}printf(s=%d\tcount=%d\n,s,count);}&a[i]continueC++程序设计课件设计制作:徐龙琴102.以下程序将数组中的数据按逆序存放。#includestdio.hvoidmain(){inta[12],i,j,t;for(i=0;i12;i++)scanf(%d,&a[i]);i=0;j=12;while(){t=a[i];;;i++;j;}for(i=0;i12;i++)printf(%3d,a[i]);printf(\n);}ija[i]=a[j-1]a[j-1]=t--C++程序设计课件设计制作:徐龙琴113函数index(chars[],chart[])检查字符串s中是否包含字符串t,若包含,则返回t在s中的开始位置(下标值),否则返回-1。intindex(chars[],chart[]){inti,j,k;for(i=0;s[i]!='\0';i++){for(j=i,k=0;&&s[j]==t[k];j++,k++);if()returni;}return-1;}C++程序设计课件设计制作:徐龙琴12#includeiostream.h#includestring.hintn1=0,n2=0,n3=0;voidcount(charc,charx){if(cx)n1++;elseif(c==x)n2++;elsen3++;}voidmain(){chars[20],ch;intn;coutinputs[20]=;cins;coutinputch=;cinch;n=strlen(s);for(inti=0;in;i++)count(s[i],ch);coutn1=n1n2=n2n3=n3endl;}1:从键盘上输入一个字符串,然后再输入一个字符,分别统计出字符串中大于、小于和等于这个字符的字符个数。分析:将字符串存放在字符数组s[]中,字符存放在ch中,然后调用count()函数比较s[]中的每个字符s[i]与ch的大小,若s[i]大于ch,n1计数;s[i]等于ch,n2计数;s[i]小于ch,n3计数。在C++语言中一个函数只能返回一个值,所以,将n1、n2和n3声明为全局变量,以便在main()函数中可见。C++程序设计课件设计制作:徐龙琴13#includeiostream.hvoidRowSum(intA[][4],intnrow){intsum;for(inti=0;inrow;i++){sum=0;for(intj=0;j4;j++)sum+=A[i][j];coutSumofrowiissumendl;}}voidmain(void){intTable[3][4]={{1,2,3,4},{2,3,4,5},{3,4,5,6}};for(inti=0;i3;i++){for(intj=0;j4;j++)coutTable[i][j]endl;}RowSum(Table,3);}2:主函数中初始化一个矩阵并将每个元素都输出,然后调用子函数,分别计算每一行的元素之和,将和直接存放在每行的第一个元素中,返回主函数之后输出各行元素的和。运行结果:123423453456Sumofrow0is10Sumofrow1is14Sumofrow2is18C++程序设计课件设计制作:徐龙琴14#includestdio.hmain(){charpass_str[80];/*定义字符数组passstr*/inti=0;while(1){clrscr();printf(请输入密码\n);gets(pass_str);/*输入密码*/if(strcmp(pass_str,“password”)!=0)/*口令错*/printf(口令错误,按任意键继续);elsebreak;/*输入正确的密码,中止循环*/getch();i++;if(i==3)exit(0);/*输入三次错误的密码,退出程序*/}输入正确密码所进入的程序段}3:简单密码检测程序C++程序设计课件设计制作:徐龙琴154:统计字符串中每个字符出现的次数。基本思路:开一个“统计数组”记录每个字符出现的次数。关键:每个字符与数组中进行统计记数元素之间的对应关系。根据ASCII码的性质,将字符作为统计数组中元素的下标。#includestdio.hmain(){intcount[128]={0};/*统计数组,初始化时全为0*/charline[200];intk=0;printf(”\nEnterString:”);gets(line);while(line[k]!=’\0’)/*对字符个数进行统计*/count[line[k++]]++;/*将字符作为下标*/for(k=0;k=127;k++)/*输出统计结果不为0的字符*/if(count[k]0)printf(”%c=%d\t”,k,count[k]);}C++程序设计课件设计制作:徐龙琴16三编程:1.求一个3×3矩阵对角线元素之和。2.编程求两矩阵相加。3.找出二维数组{{23,435,765},{78,213,657},{643,765,881}的鞍点所谓“鞍点”是指在本行中值最大,本列中值最小。4.有一已经排好序的数组(1,4,6,9,13,19,28,40,100)输入一个数5,要求按原来排序的规律将它插入到数组中。5.使用字符串处理库函数strcat,编程将两个字符串连接起来6.用数组编程实现strcpy函数的功能,将字符数组s2中的全部字符拷贝到字符数组s1中,拷贝时‘\0’也要拷贝过去,‘\0’后面的字符不拷贝。6.编写程序实现一个简单的加密器,实现英文字符串的加密。加密规则如下:将字符替换成它后面的第二个字符。比如'a‘替换成‘c’,‘C’替换成‘E’,‘z’替换成‘|’。“Panda”替换成Rcpfc。7.编写3×3矩阵转置程序。
本文标题:广东海洋大学C++程序设计_数组的练习题
链接地址:https://www.777doc.com/doc-3238685 .html