一、问题及代码
/*
* 文件名称:数组操作
* 作 者:李以勃
* 完成日期:2017 年 5月 15 日
* 版 本 号:v1.0
* 对任务及求解方法的描述部分:
* 输入描述:
* 问题描述: 定义一个不重复的有初值的10个元素的整数数组a,利用冒泡法对数组a排序后完成以下操作(写在一个程序中)
1。从键盘中输入一个数x,删除a数组中值为x的数组元素;
2。从键盘中输入一个数x,将x插入到a数组后数组a依然有序(在第一题基础上完成);
* 程序输出:
* 问题分析:略
* 算法设计:略
*/
#include <iostream>
using namespace std;
int main( )
{
int a[10]={1,3,6,7,4,5,12,13,10,9},i,j,t,x,y,k,n;
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;
}
}
for(i=0;i<10;i++)
cout<<a[i];
cout<<endl;
cout<<"输入要删除的数x:";
cin>>x;
for(i=0;i<9;i++)
{
if(a[i]==x)
k=i;
}
for(i=k;i<9;i++)
a[i]=a[i+1];
cout<<"删除x后的数组:";
for(i=0;i<9;i++)
cout<<a[i];
cout<<endl;
cout<<"请输入插入的数y:";
cin>>y;
for(i=0;i<10;i++)
{
if(a[i]>=y)
{
n=i;break;
}
}
for(i=9;i>n;i--)
a[i]=a[i-1];
a[i]=y;
cout<<"插入后的数组:";
for(i=0;i<10;i++)
cout<<a[i];
cout<<endl;
return 0;
}
二、运行结果
三、心得体会:
掌握了数组的插入,删除的方法,和冒泡法的应用,感到非常乐趣,对c++的兴趣也越来越高了,虽然这个程序也编了不少时间,但最终的结果还是很令我满意。
四、知识点总结:
数组的插入,删除,冒泡法的应用,还有break语句