/*
* 文件名称: qg4.cop
* 作 者: 李秋谷
* 完成日期: 2016 年 05月 21日
* 版 本 号:v1.0
* 对任务及求解方法的描述部分:定义一个不重复的有初值的10个元素的整数数组a,利用冒泡法对数组a排序后完成以下操作
1。从键盘中输入一个数x,删除a数组中值为x的数组元素;
2。从键盘中输入一个数x,将x插入到a数组后数组a依然有序(在第一题基础上完成);
* 问题描述:数组操作
* 程序输出:
* 问题分析: 略
* 算法设计: 略
#include<iostream.h>
void main()
{
int i,j,t,a[10]={2,56,24,17,6,9,13,71,27,31};
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]<<" ";
cout<<endl;
int x,m=0;
cout<<"删除数据:";
cin>>x;
cout<<"删除后的新有序数组为:";
for(i=0;i<10;i++)
if(a[i]!=x)
{
a[m]=a[i];
m++;
}
for(m=0;m<9;m++)
cout<<a[m]<<" ";
cout<<endl;
int y,n,k;
cout<<"插入数据:";
cin>>y;
if(a[9]<y)
{
a[9]=y;
}
for(n=0;n<=9;n++)
{
if(a[n]>y)
{
for(k=9;k>=n;k--)
{
a[k+1]=a[k];
}
a[n]=y;
break;
}
}
cout<<"插入后新的有序数组为:";
for(n=0;n<10;n++)
cout<<a[n]<<" ";
cout<<endl;
}
三: 心得体会:要理解题意,因为题目说的是第二小问要在第一题的基础上,而不是在原始排列数组a上
四:知识点总结:利用冒泡法,所以冒泡法的源程序一定要记住。删除和插入都是在此基础上完成的。