作者 陈春丽单位 中国地质大学北京从一个有序数组由小到大中删除一个数据。如数组a{1,3,5,7,9}删除3后的a是{1,5,7,9}长度减1不会释放数组内存。如果要删除的数据不在数组中数组不变。注意最多只删除第1个找到的数据如果数组中有多个相同值也只删除一个如数组a{1,3,5,5}删除5后的数组a是{1,3,5}。【提示】查找算法找到要删除数据的位置如果找到了从该位置的下一个位置开始直到数组末尾执行a[i-1] a[i]运算将元素前移一个位置。删除后数组长度-1。如果没有找到数组不变。函数接口定义bool del(int a[], int n, int key);a是int型数组有n个有序元素由小到大n是引用型形参函数题删除数组key值则n-1修改了实参值若未删除则不变key要删除的值函数返回值为true表示删除成功同时n的值-1返回false表示删除失败没找到要删除的数据。裁判测试程序样例#includeiostream using namespace std; void input(int a[], int n); void print(int a[], int n); bool del(int a[], int n, int key); const int N100; int main() { int a[N]; int n; cin n; //nN input(a,n); //输入n个整数 int key; //要删除的元素值 cin key; if(del(a,n,key)) print(a,n); else cout delete fail.; return 0; } void input(int a[], int n) { for(int i0; in; i) cin a[i]; } void print(int a[], int n) { for(int i0; in; i) cout a[i] ; cout endl; } /* 请在这里填写答案 */输入格式第一行输入1-100的整数n第二行输入n个整数用空格分隔第三行输入要删除的整数。输出格式输出删除5之后数组的值输入样例1:5 1 3 5 7 9 5输出样例1:1 3 7 9输入样例2:5 11 13 15 17 19 10输出样例2:数组中没有要删除的10delete fail.参考示例bool del(int a[],int n,int key){ for(int i0;in;i){ if(a[i]key){ for(int ji;jn1;j){ a[j]a[j1]; } n--; return true; } } return false; }