c语言 数组以及指针问题:3. 编写一个程序实现在一个一维数组中,删除指定的数据,删除数据用函数实现。

头疼……还有个菜鸟问题:用for(i=0;i<=80;i++)scanf("%d",&a[i]);给数组赋值的时候打回车就是不进行下面的语句,而用while赋值就会把80... 头疼……还有个菜鸟问题:用for(i=0;i<=80;i++)scanf("%d",&a[i]);给数组赋值的时候打回车就是不进行下面的语句,而用while赋值就会把80个全赋成乱码……下面是我的程序
//3. 编写一个程序实现在一个一维数组中,删除指定的数据,删除数据用函数实现。
//如数组中的数据是2,4,5,12,6,4,删除"4"后的数组为2,5,12,6。

#include<stdio.h>
int main()
{
int i,a[80],n,x;
void cancle(int p[ ],int n);
printf("Enter the number of your data:\n");
x=getchar();
printf("Enter your data:\n");
for(i=0;i<x;i++)
scanf("%d",&a[i]);
printf("Enter the number you manna cancle:\n");
scanf("%d",&n);
cancle(a,n);
for(i=0;i<=80;i++)
printf("%d,",a[i]);
return 0;
}
void cancle(int p[ ],int n)
{
int i,j;
for(i=0;i<=80;i++){
if(p[i]==n){
p[i]=p[i+1];
}
}

}
展开
 我来答
wmcchen
2011-05-18 · TA获得超过495个赞
知道小有建树答主
回答量:64
采纳率:100%
帮助的人:58.3万
展开全部
#include<stdio.h>
#define N 10
int main()
{
int i,a[N]={ 0 },n,x;//这里,把数组初始化一下
void cancle(int p[ ],int n);
printf("Enter the number of your data:\n");
x=getchar()-'0';//getchar()读取的是字符,要转化成整数要减去'0'也就是48
printf("Enter your data:\n");
for(i=0;i<x;i++)
{
printf("Please put in a[%d] element",i);//加一个这个好看些。
scanf("%d",&a[i]);
getchar( ); //这里要添加一个getchar,用来吃掉多余的'\n'
}
printf("Enter the number you manna cancle:\n");
scanf("%d",&n);
cancle(a,n);
for(i=0;i<N;i++)
printf("%d,",a[i]);
return 0;
}
void cancle(int p[ ],int n)
{
int i,j;
for(i=0;i<N;i++){//这里是小于,不是小于等于,因为索引是从0开始的,所以数组是a[0]到a[N-1]
if(p[i]==n){
j=i;
while( j<N -1)
{
p[j]=p[j+1];
j++;
}//这个while循环用来把数组剩下的元素往前挪。
}
}

}
古城_童话
2011-05-18 · TA获得超过264个赞
知道小有建树答主
回答量:327
采纳率:0%
帮助的人:213万
展开全部
帮你改下了下,可以运行了:但你编的函数达不到效果:
#include<stdio.h>
int main()
{
int i,a[80],n,x;
void cancle(int p[ ],int n,int x);
printf("Enter the number of your data:\n");
scanf("%d",&x);
printf("Enter your data:\n");
for(i=0;i<x;i++)
scanf("%d",&a[i]);
printf("Enter the number you manna cancle:\n");
scanf("%d",&n);
cancle(a,x,n);
for(i=0;i<x-1;i++)
printf("%d,",a[i]);
return 0;
}
void cancle(int p[ ],int n,int x)
{
int i,j;
for(i=0;i<x;i++){
if(p[i]==n){
p[i]=p[i+1];
}
}

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
uajwmxj
2011-05-18 · TA获得超过724个赞
知道答主
回答量:353
采纳率:100%
帮助的人:0
展开全部
呵呵,我用过,我用在人脸识别的计算上了,因为效率要求比较高需要在25ms秒内完成较为复杂的图像检测和图像识别,所以用了非安全代码,不过后来水平提高了,我就把非安全代码修改为安全代码了,而且效率比以前的还略高一些,这个反正就是通过工具可以提高效率,通过思想也可以提高效率,

呵呵,希望我的经历对你有用。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式