数组程序设计(一)

原创 2012年03月21日 16:42:36

实验四  数组程序设计(一)

一.实验目的

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个元素的值:"<<endl;

       for(i=0;i<10;i++)

       cin>>a[i];

       cout<<"输入数值: ";

       cin>>x;

       cout<<"大于"<<x<<"的数包括";

       for(j=1;j<10;j++)

       if(a[j]>x)

       {num=num+1;

   cout<<a[j]<<";";}

       cout<<"共"<<num<<"个元素"<<endl;

}

 

练习2

#include"iostream.h"

void main()

{

int a[10],i,j,x;

cout<<"输入数组10个元素的值:"<<endl;

for(i=0;i<10;i++)

{cin>>a[i];

cout<<a[i]<<" ";}

cout<<endl;

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<<a[i]<<" ";

cout<<endl;

}

 

练习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++)

{a[i]=rand()%100;cout<<a[i]<<"";}

cout<<endl;

cout<<"再输入一个数据:";

cin>>x;

for(j=0;j<10;j++)

if(a[j]>x)

num=num+1;

cout<<"共筛选出"<<num<<"个元素"<<endl;

for(j=0;j<num;++j)

if(a[j]>x)

{

b[k]=a[j];

k++;

}

cout<<"新数组为:"<<b[k]<<"";

}

 

 

练习3

#include"iostream.h"

void main()

{

       inta[10],b[10],n=0,i,j=0,x;

       cout<<"firstarray:"<<endl;

       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"<<<<" "<<n<<endl;

              cout<<"thenumbers including:";

              for(j=0;j<n;j++)

                     cout<<b[j]<<"";

              cout<<endl;

}

 

练习4

#include"iostream.h"

void main()

{

       int a[5][3],i=0,j,m,n;

       cout<<"输入学生成绩:"<<endl;

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

       {

              for(j=0;j<3;j++)

                     cin>>a[i][j];

              cout<<endl;

       }

       cout<<"成绩汇总输出:"<<endl;

       cout<<""<<"最高分"<<""<<"最低分"<<endl;

       for(j=0;j<3;j++)

       {m=a[0][j];

       n=a[0][j];

              for(i=1;i<5;i++)

              {

                     if(m<a[i][j])m=a[i][j];

                     if(n>a[i][j])n=a[i][j];

              }

              cout<<j+1<<"  "<<m<<"  "<<n<<endl;

       }

}

 

 

练习6

#define m 7

#define n 5

#include<iostream.h>

void main()

{

       inta[m],b[n],c[m+n],i,j,t,q=m;

       cout<<"input arraya"<<"("<<m<<"个元数"<<"):";

       for(i=0;i<m;i++)

       {

              cin>>a[i];

              c[i]=a[i];

       }

       cout<<endl<<"inputarray b"<<"("<<n<<"个元数"<<"):";

       for(t=0;t<n;t++)

              cin>>b[t];

       cout<<"outputarray c:";

       for(t=0;t<n;t++)

              for(i=0;i<q;i++)

                     if(b[t]<c[i])

                     {

                            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<m+n;i++)

                            cout<<c[i]<<"";

                     cout<<endl;

}

 

 

 

 

1<<

#include<iostream.h>

void main()

{

    int a[10],i,x,n=0;

    cout<<"please input 10numbers:"<<endl;

    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)

        {

            cout<<a[i]<<",";

            n++;

        }

        cout<<"allhave"<<n<<""<<"numbers"<<endl;

}

2<<

#include<iostream.h>

void main()

{

    int a[11],i,j,x;

    cout<<"输入数组10元数:"<<endl;

    for(i=0;i<10;i++)

        cin>>a[i];

    cout<<"要插入的值:";

    cin>>x;

    cout<<"结果:"<<endl;

    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<<a[i]<<"";

        cout<<endl;

}

3《《

#include<iostream.h>

void main()

{

    int a[10],b[10],n=0,i,j=0,x;

    cout<<"firstarray:"<<endl;

    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"<<<<" "<<n<<endl;

        cout<<"the numbersincluding:";

        for(j=0;j<n;j++)

            cout<<b[j]<<"";

        cout<<endl;

}

 

4《《

#include<iostream.h>

void main()

{

       inta[5][3],i=0,j,m,n;

       cout<<"输入学生成绩:"<<endl;

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

       {

              for(j=0;j<3;j++)

                     cin>>a[i][j];

              cout<<endl;

       }

       cout<<"成绩汇总输出:"<<endl;

       cout<<""<<"最高分"<<" "<<"最低分"<<endl;

       for(j=0;j<3;j++)

       {m=a[0][j];

       n=a[0][j];

              for(i=1;i<5;i++)

              {

                     if(m<a[i][j])m=a[i][j];

                     if(n>a[i][j])n=a[i][j];

              }

              cout<<j+1<<"  "<<m<<"  "<<n<<endl;

       }

}

6《《

#define m 7

#define n 5

#include<iostream.h>

void main()

{

       inta[m],b[n],c[m+n],i,j,t,q=m;

       cout<<"inputarray a"<<"("<<m<<"个元数"<<"):";

       for(i=0;i<m;i++)

       {

              cin>>a[i];

              c[i]=a[i];

       }

       cout<<endl<<"inputarray b"<<"("<<n<<"个元数"<<"):";

       for(t=0;t<n;t++)

              cin>>b[t];

       cout<<"outputarray c:";

       for(t=0;t<n;t++)

              for(i=0;i<q;i++)

                     if(b[t]<c[i])

                     {

                            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<m+n;i++)

                            cout<<c[i]<<"";

                     cout<<endl;

}

              5<<

#include<iostream.h>

void main()

{

       intn,m,a[n],b[n],i,j,t=0,w;

       cout<<"pleaseinput n and m:";

       cin>>n>>m;

       for(i=1;i<=n;i++)

              cin>>a[i];

       for(i=1;i<=n;i++)

       {

编程题#5:计算数组的低3位之和(C++程序设计第10周)

描述输入一个正整数构成的数组a[0], a[1], a[2], … , a[n-1], 计算它们的二进制低3位之和。#include #include #include using namesp...
  • NNNNNNNNNNNNY
  • NNNNNNNNNNNNY
  • 2016年02月16日 21:49
  • 1243

《C语言及程序设计》程序填空——字符数组与字符串处理

返回:贺老师课程教学链接1、编写一函数,由实参传来一个字符串,统计此字符串中字母、数字、空格和其它字符的个数,在主函数中输入字符串以及输出上述的结果。请将下面的程序补充完整。#include #inc...
  • sxhelijian
  • sxhelijian
  • 2015年05月01日 07:59
  • 2738

JS编程训练 | 题2:数组求和

题目描述计算给定数组 arr 中所有元素的总和 输入描述: 数组中的元素均为 Number 类型 示例1 输入 [ 1, 2, 3, 4 ] 输出 10 思路一:大众解法,遍历求和fu...
  • rical730
  • rical730
  • 2017年07月10日 22:41
  • 241

编程题训练5

编程题训练5最大子数组 给定一个整数数组,找到一个具有最大和的子数组,返回其最大和。 样例 给出数组[−2,2,−3,4,−1,2,1,−5,3],符合要求的子数组为[4,−1,2,1],其最...
  • GeDune
  • GeDune
  • 2017年03月01日 22:28
  • 102

Java程序设计(一)

java程序设计(一)
  • zonghengxueba
  • zonghengxueba
  • 2015年10月23日 22:15
  • 265

自考04747《Java语言程序设计(一)》简答题全集

自考04747《Java语言程序设计(一)》简答题全集
  • javaniuniu
  • javaniuniu
  • 2016年10月19日 10:00
  • 2535

拼多多2018校招编程题

[编程题] 最大乘积 给定一个无序数组,包含正数、负数和0,要求从中找出3个数的乘积,使得乘积最大,要求时间复杂度:O(n),空间复杂度:O(1)  输入描述: 无序整数数组A[n] 输出...
  • wuxiaosi808
  • wuxiaosi808
  • 2017年08月07日 17:47
  • 1668

剑指Offer编程题笔记之数组相关

这一篇是数组相关的题,这里记录了9题,可能记录的不完整。 数组相关的题,解法多样,效率也各不相同。第二次实现,做得也不流畅。另外,还有两题没做出来,分别是“数组中的逆序对”和“连续子数组的最大和”。...
  • weixin_30531261
  • weixin_30531261
  • 2018年02月02日 15:06
  • 25

程序设计与算法 第六周测验

程序设计与算法 第六周测验
  • xiewen99
  • xiewen99
  • 2016年09月14日 11:22
  • 415

C++程序设计实验报告(六十五)---第十二周任务一

/* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2012, 烟台大学计算机学院学生  * All rights reserved. * 文件名称:理解...
  • qdliuzhen
  • qdliuzhen
  • 2012年05月06日 16:12
  • 499
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:数组程序设计(一)
举报原因:
原因补充:

(最多只允许输入30个字)