![](https://iknow-base.cdn.bcebos.com/lxb/notice.png)
有哪位C语言大神解答一下,急啊啊啊啊!!!
1、编写一个intdel(inta[],intn,intkey)函数,函数功能是在具有n个元素的a数组中删除数据key(key值可能不存在,可能只出现一次,也可能出现多次...
1、编写一个int del(int a[ ],int n,int key)函数,函数功能是在具有n个元素的a数组中删除数据key(key值可能不存在,可能只出现一次,也可能出现多次),若不存在,返回-1,若存在,返回剩下元素个数。
2、编写main()函数,输入数组元素个数n,然后输入数组元素和要删除的数,调用del函数删除,最后输出新数组或-1。
3、将结果显示在屏幕并输出到文件p9-5.out中。 展开
2、编写main()函数,输入数组元素个数n,然后输入数组元素和要删除的数,调用del函数删除,最后输出新数组或-1。
3、将结果显示在屏幕并输出到文件p9-5.out中。 展开
1个回答
展开全部
#include <stdio.h>
#include <stdlib.h>
int del(int a[ ],int n,int key){
int temp=n;
for(int i=0;i<n;++i){
if(a[i]==key){
for(int j=i;j<n-1;++j){
a[j]=a[j+1];
}
n=n-1;
}
}
if(temp==n) return -1;
return n;
}
void main(){
int n=0,a[100],e=0;
printf("输入数组元素个数n=");
scanf("%d",&n);
printf("输入数组元素:\n");
for(int i=0;i<n;++i){
printf("a[%d]=",i);
scanf("%d",&a[i]);
}
printf("输入数组元素和要删除的数:");
scanf("%d",&e);
int c=del(a,n,e);
if(c==-1) printf("-1");
else for(i=0;i<c;++i){
printf("a[%d]=%d\n",i,a[i]);
}
} 自己 编的,已通过编译,请采纳 可追问
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询