有哪位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中。
展开
 我来答
你若安好TL
2013-04-23
知道答主
回答量:35
采纳率:0%
帮助的人:16.6万
展开全部

#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]);
}
}    自己 编的,已通过编译,请采纳  可追问   

 

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式