c++ 数组一习题(含答案)

更新时间:2023-10-09 11:12:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

数组(一)习题

一、找出下面程序或程序段中的错误,并改正。

1.

#include using namespace std; int main() { int m,a[m]; a[0]=1; cout<

正确程序:

#include using namespace std; int main()

{ const int m=10; int a[m]; a[0]=1; cout<

#include using namespace std; int main() { int a[5]; cin>>a; cout<

正确程序:(仅是无语法错误) #include using namespace std; int main() { int a[5]; cin>>a[4]; cout<

完善程序:(完整输入输出) #include using namespace std; int main() { int a[5],i;

for (i=0;i<5;i++) {

cin>>a[i];

cout<

return 0; } 3.

#include using namespace std; int main()

{ char c[10]=\ cout<

正确程序:

#include using namespace std; int main()

{ char c[ ]=\定义为字符串数组,[ ]里可以不写具体数字,但最好写上,字符串在存储时会自动在末尾加上‘\\0’,所以长度会加一

cout<

二、读程序,写运行结果。

1.

#include using namespace std; int main()

{int i,k,a[10],p[3]; k=5;

for (i=0;i<10;i++) a[i]=i;

for (i=0;i<3;i++) p[i]=a[i*(i+1)]; for (i=0;i<3;i++) k+=p[i]*2; cout<

运行结果: 21

2. 写出程序的运行结果,并说明该程序的功能。#include using namespace std; int main()

{int y=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--) cout<

运行结果:11001

程序的功能:将十进制数转换为对应的二进制数。 三 编写程序。

1. 编写一个程序,从任意n个数中找出最大的数和最小的数,并将它们相互交换。

参考程序为:

#include using namespace std; #include int main( )

{ int a[20],i,w_max,w_min,n; //(w_max,w_min是记录最大及最小元素的下标)

cout<<\请输入数据个数:\ cin>>n;

for(i=0;i>a[i];

w_max=0;w_min=0; for(i=1;ia[i]) w_max=i; else if(a[w_min]

i=a[w_min];a[w_min]=a[w_max];a[w_max]=i; cout<<\处理后的数据为:\ for(i=0;i2. 编写一个程序,将任意n个数按从大到小的顺序排序。

参考程序为:

#include using namespace std; #define M 100 int main( )

{ int a[M],i,j,t,n;

cout<<\请输入数据个数(小于等于100):\ cin>>n;

cout<<\请任意输入\个数据:\ for(i=0;i>a[i];

for(i=0;i<=n-1;i++) {

for(j=i+1;j

{

if (a[i]

{ t=a[i];a[i]=a[j];a[j]=t;} } }

cout<<\排序结果:\ for(i=0;i<=n-1;i++) cout<

3. 将一个数组中的数循环左移,例如,数组中原来的数为:1 2 3 4 5,移动后变成:2 3 4 5 1.

参考程序为:

#include using namespace std; int main( ) { int a[5],i,w;

cout<<\请任意输入5个数:\ for(i=0;i<5;i++) cin>>a[i]; w=a[0];

for(i=1;i<=4;i++) a[i-1]=a[i]; a[4]=w;

cout<<\结果:\ for(i=0;i<5;i++) cout<

4. 写一个形成杨辉三角形的程序(提高)

(观察杨辉三角的特点,写出10行的杨辉三角形程序) 参考程序(ppt有相关内容)(下面程序由杨靖航提供): #include using namespace std; int d[100+5][100+5]; int main() { int p=9; for(int i=0;i!=100+5;++i)

}

{ d[i][0]=1; for(int j=1;j<=i;++j) d[i][j]=d[i-1][j-1]+d[i-1][j]; }

for(int i=0;i!=10;++i) { for(int j=1;j<=p;++j) cout<<\ \ p--; for(int j=0;j<=i;++j) cout<

return 0;

本文来源:https://www.bwwdw.com/article/ai9f.html

Top