【项目1:数组操作】定义一个不重复的有初值的10个元素的整数数组a,利用冒泡法对数组a排序后完成以下操作(写在一个程序中)
1。从键盘中输入一个数x,删除a数组中值为x的数组元素;
2。从键盘中输入一个数x,将x插入到a数组后数组a依然有序(在第一题基础上完成);
#include <iostream> using namespace std; int main() { const int n=10; int a[n]={2,1,3,4,56,64,72,89,9,10}; int i,j,x1,x2,locate; cout<<"已知的数组"<<endl; for(i=0;i<n-1;i++) for(j=0;j<n-1-i;j++) { if(a[i]>a[j]) { x1=a[j];a[j]=a[j+1];a[j+1]=x1;
} } for(i=0;i<n;i++) cout<<a[i]<<" "; cout<<endl; cout<<"请输入要删除的数值x1:"; cin>>x1; for(i=0;i<n;i++) if(a[i]==x1) { locate=i; for(i=locate;i<9;i++) a[i]=a[i+1]; } cout<<"删除x1后的数组为:"; for(i=0;i<n-1;i++) cout<<a[i]<<" "; cout<<endl; cout<<"输入要插入的值x2:"; cin>>x2; for(i=0;i<n;i++) if(a[i]>x2) break; for(j=n;j>i;j--) a[j]=a[j-1]; a[i]=x2; cout<<"插入后的数组为:"; for(i=0;i<n;i++) cout<<a[i]<<" "; cout<<endl; return 0; }
【项目2:数组合并】
已知有两个有序的数组A,B,将这两个数组合并到数组C中,数组C依然有序,如a[5]={1,3,8,9,10},b[5]={2,3,4,5,6},则c[10]={1,2,3,3,4,5,6,8,9,10}
#include <iostream> using namespace std; int main() { int a[5]={1,3,5,7,9},b[5]={2,4,6,8,15},c[10]; int i,j,k,m; for(i=0;i<5;i++) { c[i]=a[i]; } for(j=0;j<5;j++) { c[i]=b[j]; i++; } for (k=0;k<9;k++) for(i=0;i<9-k;i++) { if(c[i]>c[i+1]) { m=c[i]; c[i]=c[i+1]; c[i+1]=m; } } cout<<"排序后的数组c="<<endl; for(i=0;i<10;i++) cout<<c[i]<<" "; return 0; }