C++第六次实验:数组操作

来源:互联网 发布:沈阳数据恢复公司 编辑:程序博客网 时间:2024/06/06 18:47

一、上机目的

熟练数组的使用

二、问题及代码

定义一个不重复的有初值的10个元素的整数数组a,利用冒泡法对数组a排序后完成以下操作(写在一个程序中)

1。从键盘中输入一个数x,删除a数组中值为x的数组元素;

2。从键盘中输入一个数x,将x插入到a数组后数组a依然有序;

/*    * 文件名称:数组操作* 作    者:  吴奇峰   * 完成日期:  2016  年  5   月  19 日    * 版 本 号:v1.0    * 对任务及求解方法的描述部分:数组及循环语句   * 输入描述: 输入十个数字   * 问题描述: 排序,删除及添加* 程序输出: 输出排序,删除及添加后的结果* 问题分析: 略   * 算法设计: 略   */   #include<iostream.h>void main(){    int a[10],i,j,k,t,b,c;cout<<"请输入十个不重复的数字:";    for(i=0;i<10;i++)                             //输入十个数字cin>>a[i];    for(i=0;i<9;i++)                              //冒泡法排序{for(j=0;j<9-i;j++){if(a[j]>a[j+1])                       //相邻两项比较大小,交换次序。{t=a[j];a[j]=a[j+1];a[j+1]=t;}}}cout<<"您输入的数字排序后为:";    for(i=0;i<10;i++)                             //输出排序后数组cout<<a[i]<<'\0';cout<<endl;cout<<"请输入要删去的数字:";cin>>b;for(i=0;i<10;i++){if(b==a[i])                               //判断是否与之相同{for(k=i;k<9;k++)                      //若相同,则将后面一位数赋给前面一位,依次顺延a[k]=a[k+1];cout<<"删去该数字之后的数组为:";        for(i=0;i<9;i++)                      //输出删除后的数组        cout<<a[i]<<'\0';cout<<endl;break;                                //由于数字无重复,可以跳出}if(i==9)                                  //若i==9,则确定该数组没有这个数cout<<"该数组没有要删除的数字。"<<endl;}cout<<"请输入要添加的数字:";cin>>c;for(i=8;i>=0;i--)                             //倒序判断,便于赋值{if(c>a[i]){for(k=8;k>i;k--)                      //依次将前面的数赋给后面的数a[k+1]=a[k];a[i+1]=c;                             //将要添加的数添进去break;}}cout<<"添加该数字之后的数组为:";for(i=0;i<10;i++)                             //输出添加后的数组cout<<a[i]<<'\0';cout<<endl;}


三、运行结果


四、知识点总结:

数组的输入和输出要结合循环语句

可以通过冒泡法对数组进行排序

五、心得体会

掌握了冒泡法排序,可以对大量数据进行排序


0 0
原创粉丝点击