c++实验6--数组操作

来源:互联网 发布:战网更新网络出现问题 编辑:程序博客网 时间:2024/05/17 08:08

一。问题及代码

/* * 文件名称:2.cpp * 作    者:董璐  * 完成日期:  2016    年  5   月  23  日 * 版 本 号:v1.0 * 对任务及求解方法的描述部分:用冒泡法先给数组排序,然后删除再加入一个数* 输入描述:输出三个数组  * 问题描述:数组操作 * 程序输出:  * 问题分析:数组,循环结构 * 算法设计:  */#include<iostream>using namespace std;int main(){const int n=10;int a[]={2,4,6,5,8,9,10,1,3,7},i,m,k,x;for(int j=0;j<n-1;j++)for(i=0;i<n-j-1;i++){if(a[i]>a[i+1]){m=a[i];a[i]=a[i+1];a[i+1]=m;}}cout<<"有序数组为:";for(i=0;i<n;i++)cout<<a[i]<<"  ";cout<<endl;cout<<"请删除一个数x:";cin>>x;for(i=0;i<n;i++){if(a[i]==x)k=i;}for(i=k;i<n-1;i++)a[i]=a[i+1];cout<<"删除后的数组为:";for(i=0;i<n-1;i++)cout<<a[i]<<"  ";cout<<endl;cout<<"请插入一个数x:";cin>>x;for(i=0;i<n-1;i++)if(a[i]>x)break;for(m=9;m>i;m--)a[m]=a[m-1];a[i]=x;cout<<"插入后的数组为:";for(i=0;i<n;i++)cout<<a[i]<<"  ";cout<<endl;return 0;}

二。运行结果

 

三。心得体会

  数组部分让我觉得有些难,花费好长时间加上请教同学才写出代码,中间出了很多错误。另外,课堂上单纯的知识点需要运用后才能掌握,我看书后在上机是遇到运用的难题,这些都需要我们付出努力来完成。

四,知识点总结

  数组赋值时可以只给数组靠前部分的元素初始化。只能给元素逐个赋值,不能整体赋值,如果给元素赋值,在数组说明中,可以不给出数组元素个数。

  利用冒泡法给数组中的数排序,冒n-1次。

  当输入要删除的数和数组中的某个值相等时,后面的数都向前进一位,数组长度减小一个值。


0 0
原创粉丝点击