c++实验6-项目一数组操作

来源:互联网 发布:鲁南制药知乎 编辑:程序博客网 时间:2024/05/02 00:34

一,问题及代码

 /*        02.* 文件名称:001.cpp        03.* 作    者:朱婵媛       04.* 完成日期:2016 年 5 月 22 日        05.* 版 本 号:v1.0        06.* 对任务及求解方法的描述部分:       07.* 输入描述:无        08.* 问题描述:我的第六个C++程序,熟悉程序的编辑、运行过程       09.* 程序输出:利用冒泡法对a数组进行删除和插入数字操作并且保持有序。  10.* 问题分析:略       11.* 算法设计:略        12.*/        #include<iostream>using namespace std;int main(){    const int N=10;    int a[N+1]={1,12,3,4,5,16,7,8,9,10},i,j,t,x,y,index=-1,k=-1;    for(i=0;i<9;i++)        for(j=0;j<=8-i;j++)        {            if(a[j]>a[j+1])            {                t=a[j];                a[j]=a[j+1];                a[j+1]=t;            }        }    cout<<"请输入一个数";    cin>>x;   for(i=0;i<N;i++)   {       if(a[i]==x)       {           index=i;break;       }   }       if(index!=-1)       {           for(i=index;i<N-1;i++)               a[i]=a[i+1];            for(i=0;i<N-1;i++)            cout<<a[i]<<" ";            cout<<endl;            cout<<"请输入一个数";            cin>>y;            for(i=0;i<N;i++)            {               if(a[i]>y)               k=i;break;            }            if(k==-1)               k=N-1;            else               for(i=N-1;i>k;i--)                 a[i]=a[i-1];                 a[k]=y;                 for(i=0;i<N;i++)                cout<<a[i]<<" ";       }       else       {        for(i=0;i<N;i++)        cout<<a[i]<<" ";        cout<<endl;        cout<<"请输入一个数";         cin>>y;         for(i=0;i<N;i++)         {           if(a[i]>y)            k=i;break;         }         if(k==-1)          k=N;        else           for(i=N;i>k;i--)             a[i]=a[i-1];             a[k]=y;          for(i=0;i<N+1;i++)          cout<<a[i]<<" ";       }        cout<<endl;return 0;}


二,运行结果



三,心得体会

还是不能很熟练的操作。


四,知识点总结

要注意删除数字时该数字在数组中没有的情况,这时数组数据个数就有差别了,要分情况考虑,后面的插入一个数字也是一样,还要注意考虑到那个数字在数组中是最大的情况。

0 0