一道C语言编程题目!请教一下!

假定整数数列中的数不重复,并存放在数组中。编写一函数实现删除数列中值为x的元素,若输入的x值在数列中不存在,给出提示。删除对应值后,在主程序中输出新的数组。... 假定整数数列中的数不重复,并存放在数组中。编写一函数实现删除数列中值为x的元素,若输入的x值在数列中不存在,给出提示。删除对应值后,在主程序中输出新的数组。 展开
 我来答
听不清啊
高粉答主

推荐于2017-11-17 · 说的都是干货,快来关注
知道顶级答主
回答量:7.8万
采纳率:89%
帮助的人:1.9亿
展开全部

# include<stdio.h>
int main()
{int i,j,n,x,a[100];
 scanf("%d",&n);
 for(i=0;i<n;i++)
   scanf("%d",&a[i]);
 scanf("%d",&x);
 for(i=0;i<n&&a[i]!=x;i++);
 if(i==n)
 {printf("Not find!\n"); return 0;}
 for(;i<n;i++)
   a[i]=a[i+1];
 n--;
 for(i=0;i<n;i++)   
   printf("%d ",a[i]);
 return 0;  
}
百度网友245b3ed
2010-10-31 · 超过29用户采纳过TA的回答
知道答主
回答量:104
采纳率:0%
帮助的人:80.7万
展开全部
遍历呗,从数组的第一个数开始遍历,
1、不是要找的X,则输出这个值,指针后移
2、是要找的X,指针后移,标志位置1
3、指针指向空,则判断标志位是0还是1,若是0,说明X未找到,给出提示

#include<iostream.h>
void main()
{
int flag = 0;
int a[8] = {1,2,3,4,5,6,7,8};
int *p = a;
while(p ! = 0)
{
if(*p == x)
{
flag = 1;
p ++;
}
else
{
cout<<*p<<"/t";
p++;
}
}
if(flag == 0)
{
cout<<"数组中不存在X!"<<endl;
}
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式