文件名称: 【项目1:数组操作】
* 作 者: 赖诗文
* 完成日期: 2016 年 5 月 19 日
* 版 本 号:v1.0
* 对任务及求解方法的描述部分:
* 输入描述: 要插入的数和要删除的数
* 问题描述: 从键盘中输入一个数x,删除a数组中值为x的数组元素, 从键盘中输入一个数x,将x插入到a数组后数组a依然有序
* 程序输出: 经过删除后的数组和经过插入的数组
* 问题分析:
* 算法 设计: 数组 for'循环 if的单分支。
* 作 者: 赖诗文
* 完成日期: 2016 年 5 月 19 日
* 版 本 号:v1.0
* 对任务及求解方法的描述部分:
* 输入描述: 要插入的数和要删除的数
* 问题描述: 从键盘中输入一个数x,删除a数组中值为x的数组元素, 从键盘中输入一个数x,将x插入到a数组后数组a依然有序
* 程序输出: 经过删除后的数组和经过插入的数组
* 问题分析:
* 算法 设计: 数组 for'循环 if的单分支。
*/
#include<iostream>
using namespace std;
int main()
{
int a[10]={2,21,34,45,25,9,10,67,44,47},i,j,t,x,index=0,s;
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<<"请输入一个数: ";
cin>>x;
for(i=0;i<10;i++)
if(x==a[i])
index=i;
for(i=index;i<10;i++)
a[i]=a[i+1];
cout<<"删除该数后数组为: ";
for(i=0;i<9;i++)
cout<<a[i]<<" ";
cout<<"请输入一个数: ";
cin>>s;
for(i=0;i<9;i++)
if(s>a[i] && s<a[i+1])
index=i+1;
for(i=10;i>index;i--)
a[i]=a[i-1];
a[index]=s;
cout<<"插入该数后,经排序后数组为: ";
for(i=0;i<10;i++)
cout<<a[i]<<" ";
return 0;
}
三 心得体会
1.这个程序的几个功能上课老师都讲述过,只要上课认真听讲,课后及时复习,这个程序就能编出。
四 知识点总结
1.冒泡法要进行n-1次趟,每趟要进行n-i-1次比较。
2.删除一个数,是用for(i=index;i<10;i++) a[i]=a[i+1];而插入一个数是用for(i=10;i>index;i--) a[i]=a[i-1]; a[index]=s;
两者一加一减要记清。