您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 资本运营 > c++-数组一习题(含答案)
数组(一)习题一、找出下面程序或程序段中的错误,并改正。1.#includeiostreamusingnamespacestd;intmain(){intm,a[m];a[0]=1;couta[0];return0;}正确程序:#includeiostreamusingnamespacestd;intmain(){constintm=10;inta[m];a[0]=1;couta[0];return0;}2.#includeiostreamusingnamespacestd;intmain(){inta[5];cina;couta[5];return0;}正确程序:(仅是无语法错误)#includeiostreamusingnamespacestd;intmain(){inta[5];cina[4];couta[4];return0;}完善程序:(完整输入输出)#includeiostreamusingnamespacestd;intmain(){inta[5],i;for(i=0;i5;i++){cina[i];couta[i];}return0;}3.#includeiostreamusingnamespacestd;intmain(){charc[10]=Iamastudent;coutc;return0;}正确程序:#includeiostreamusingnamespacestd;intmain(){charc[]=Iamastudent;//定义为字符串数组,[]里可以不写具体数字,但最好写上,字符串在存储时会自动在末尾加上‘\0’,所以长度会加一coutc;return0;}二、读程序,写运行结果。1.#includeiostreamusingnamespacestd;intmain(){inti,k,a[10],p[3];k=5;for(i=0;i10;i++)a[i]=i;for(i=0;i3;i++)p[i]=a[i*(i+1)];for(i=0;i3;i++)k+=p[i]*2;coutk;return0;}运行结果:212.写出程序的运行结果,并说明该程序的功能。#includeiostreamusingnamespacestd;intmain(){inty=25,i=0,j,a[8];do{a[i]=y%2;i++;y=y/2;}while(y=1);for(j=i-1;j=0;j--)couta[j];coutendl;return0;}运行结果:11001程序的功能:将十进制数转换为对应的二进制数。三编写程序。1.编写一个程序,从任意n个数中找出最大的数和最小的数,并将它们相互交换。参考程序为:#includeiostreamusingnamespacestd;#includeiomanipintmain(){inta[20],i,w_max,w_min,n;//(w_max,w_min是记录最大及最小元素的下标)cout请输入数据个数:;cinn;for(i=0;in;i++)cina[i];w_max=0;w_min=0;for(i=1;in;i++)if(a[w_max]a[i])w_max=i;elseif(a[w_min]a[i])w_min=i;i=a[w_min];a[w_min]=a[w_max];a[w_max]=i;cout处理后的数据为:;for(i=0;in;i++)couta[i];}2.编写一个程序,将任意n个数按从大到小的顺序排序。参考程序为:#includeiostreamusingnamespacestd;#defineM100intmain(){inta[M],i,j,t,n;cout请输入数据个数(小于等于100):;cinn;cout请任意输入n个数据:endl;for(i=0;in;i++)cina[i];for(i=0;i=n-1;i++){for(j=i+1;jn;j++){if(a[i]a[j]){t=a[i];a[i]=a[j];a[j]=t;}}}cout排序结果:endl;for(i=0;i=n-1;i++)couta[i];return0;}3.将一个数组中的数循环左移,例如,数组中原来的数为:12345,移动后变成:23451.参考程序为:#includeiostreamusingnamespacestd;intmain(){inta[5],i,w;cout请任意输入5个数:endl;for(i=0;i5;i++)cina[i];w=a[0];for(i=1;i=4;i++)a[i-1]=a[i];a[4]=w;cout结果:endl;for(i=0;i5;i++)couta[i];return0;}4.写一个形成杨辉三角形的程序(提高)(观察杨辉三角的特点,写出10行的杨辉三角形程序)参考程序(ppt有相关内容)(下面程序由杨靖航提供):#includebits/stdc++.husingnamespacestd;intd[100+5][100+5];intmain(){intp=9;for(inti=0;i!=100+5;++i){d[i][0]=1;for(intj=1;j=i;++j)d[i][j]=d[i-1][j-1]+d[i-1][j];}for(inti=0;i!=10;++i){for(intj=1;j=p;++j)cout;p--;for(intj=0;j=i;++j)coutsetw(4)d[i][j];coutendl;}return0;}
本文标题:c++-数组一习题(含答案)
链接地址:https://www.777doc.com/doc-1678491 .html