2012年(106)
分类: C/C++
2012-05-07 18:32:58
实验四 数组程序设计(一)
一.实验目的
1. 掌握程序中数组的基本操作方法;
2. 掌握一维、二维数组的程序设计。
二.实验环境
1. 硬件:PII以上计算机;
2. 软件:Windows、Visual C++ 6.0;
3. 其它:一张软盘或者U盘等可移动的存储设备。
三.实验内容
练习1.从键盘读入10个数并存储至数组a中,然后再输入一个数x,要求输出数组a中所有大于x值的元素及其总个数。
运行结果示例:
练习2.已有一个排好序的数组(共10个数,从键盘读入),再输入一个数,要求按次序规律将它插入到数组中并输出结果。
运行结果示例:
练习3.随机生成一个包含10个元素的数组a,再输入一个数x,要求将数组a中所有大于x值的元素存放到一个新的数组b中并输出结果。
运行结果示例:
练习4.从键盘输入5名学生3门课程的成绩,然后将每门成绩的最高分和最低分输出。
要求:此题应使用二维数组
运行结果示例:
练习5.N只猴子要选大王,选举方法是:所有猴子按1、2、…、n编号围坐成一个圆圈,从第1号开始按照1、2、…、m报数,凡报到m号的猴子退出圈外,如此循环报数,指导圈内剩下最后一只猴子,则这只猴子就是大王。编写一个程序实现上述过程,n和m由键盘输入。
提 示:此题的算法和技巧可参考“Eratoshenes筛法求1-100之间的素数”一题。
*练习6.已有两个数组a和b都是按由小到大顺序排列的有序数组(其中数组a有M个数,数组b有N个数),编写程序,将a、b两个数组合并后送入数组c,并使c也按由小到大排列。
要求:将数组元素的个数值定义为符号常量,例如:# define M 7
运行结果示例:
练习1
#include"iostream.h"
void main()
{
inta[10],i,j,x,num=0;
cout<<"输入数组10个元素的值:"<
for(i=0;i<10;i++)
cin>>a[i];
cout<<"输入数值: ";
cin>>x;
cout<<"大于"<
for(j=1;j<10;j++)
if(a[j]>x)
{num=num+1;
cout<<"共"<
}
练习2
#include"iostream.h"
void main()
{
int a[10],i,j,x;
cout<<"输入数组10个元素的值:"<
for(i=0;i<10;i++)
{cin>>a[i];
cout<
cout<<"输入要插入数据的值: ";
cin>>x;
if(x>a[9])
a[10]=x;
else
{for(i=0;i<10;i++)
if(a[i]>x)
{for(j=9;j>=i;j--)
a[j+1]=a[j];
a[i]=x;
break;
}
}
cout<<"结果:";
for(i=0;i<11;i++)
cout<
}
练习3
#include"iostream.h"
#include"stdlib.h"
void main()
{
int a[10],b[10],i,j,x,k=0,num=0;
cout<<"原数组为:";
for(i=0;i<10;i++)
cout<
cout<<"再输入一个数据:";
cin>>x;
for(j=0;j<10;j++)
if(a[j]>x)
num=num+1;
cout<<"共筛选出"<
for(j=0;j
if(a[j]>x)
{
b[k]=a[j];
k++;
}
cout<<"新数组为:"<
}
练习3
#include"iostream.h"
void main()
{
inta[10],b[10],n=0,i,j=0,x;
cout<<"firstarray:"<
for(i=0;i<10;i++)
cin>>a[i];
cout<<"inputx:";
cin>>x;
for(i=0;i<10;i++)
if(a[i]>x)
{
b[j]=a[i];
j++;
n++;
}
cout<<"pickout numbers have"<<<<" "<
cout<<"thenumbers including:";
for(j=0;j
cout<
cout<
}
练习4
#include"iostream.h"
void main()
{
int a[5][3],i=0,j,m,n;
cout<<"输入学生成绩:"<
for(i=0;i<5;i++)
{
for(j=0;j<3;j++)
cin>>a[i][j];
cout<
}
cout<<"成绩汇总输出:"<
cout<<""<<"最高分"<<""<<"最低分"<
for(j=0;j<3;j++)
{m=a[0][j];
n=a[0][j];
for(i=1;i<5;i++)
{
if(n>a[i][j])n=a[i][j];
}
cout<
}
}
练习6
#define m 7
#define n 5
#include
void main()
{
inta[m],b[n],c[m+n],i,j,t,q=m;
cout<<"input arraya"<<"("<
for(i=0;i
{
cin>>a[i];
c[i]=a[i];
}
cout<
for(t=0;t
cin>>b[t];
cout<<"outputarray c:";
for(t=0;t
for(i=0;i
if(b[t]
{
for(j=q;j>=i;j--)
c[j+1]=c[j];
c[i]=b[t];q++;
break;
}
else c[q]=b[t];
for(i=0;i
cout<
cout<
}
1<<
#include
void main()
{
int a[10],i,x,n=0;
cout<<"please input 10numbers:"<
for(i=0;i<10;i++)cin>>a[i];
cout<<"please input x:";
cin>>x;
cout<<"the numbers large than xincluding:";
for(i=0;i<10;i++)
if(a[i]>x)
{
n++;
}
cout<<"allhave"<
}
2<<
#include
void main()
{
int a[11],i,j,x;
cout<<"输入数组10元数:"<
for(i=0;i<10;i++)
cin>>a[i];
cout<<"要插入的值:";
cin>>x;
cout<<"结果:"<
for(i=0;i<10;i++)
if(a[i]>x)
{
for(j=9;j>=i;j--)
a[j+1]=a[j];
a[i]=x;break;
}
for(i=0;i<11;i++)
cout<
}
3《《
#include
void main()
{
int a[10],b[10],n=0,i,j=0,x;
cout<<"firstarray:"<
for(i=0;i<10;i++)
cin>>a[i];
cout<<"input x:";
cin>>x;
for(i=0;i<10;i++)
if(a[i]>x)
{
b[j]=a[i];
j++;
n++;
}
cout<<"pick out numbershave"<<<<" "<
cout<<"the numbersincluding:";
for(j=0;j
cout<
cout<
}
4《《
#include
void main()
{
inta[5][3],i=0,j,m,n;
cout<<"输入学生成绩:"<
for(i=0;i<5;i++)
{
for(j=0;j<3;j++)
cin>>a[i][j];
cout<
}
cout<<"成绩汇总输出:"<
cout<<""<<"最高分"<<" "<<"最低分"<
for(j=0;j<3;j++)
{m=a[0][j];
n=a[0][j];
for(i=1;i<5;i++)
{
if(n>a[i][j])n=a[i][j];
}
cout<
}
}
6《《
#define m 7
#define n 5
#include
void main()
{
inta[m],b[n],c[m+n],i,j,t,q=m;
cout<<"inputarray a"<<"("<
for(i=0;i
{
cin>>a[i];
c[i]=a[i];
}
cout<
for(t=0;t
cin>>b[t];
cout<<"outputarray c:";
for(t=0;t
for(i=0;i
if(b[t]
{
for(j=q;j>=i;j--)
c[j+1]=c[j];
c[i]=b[t];q++;
break;
}
elsec[q]=b[t];
for(i=0;i
cout<
cout<
}