c语言数组题 有一个数组,数据元素从下标为1的位置开始存放,试编写一个算法:删除数组

c语言数组题有一个数组,数据元素从下标为1的位置开始存放,试编写一个算法:删除数组中第一个数值为偶数的结点,返回数组中元素的个数。要求:算法采用函数形式,并在机器上进行调... c语言数组题 有一个数组,数据元素从下标为1的位置开始存放,试编写一个算法:删除数组中第一个数值为偶数的结点,返回数组中元素的个数。要求:算法采用函数形式,并在机器上进行调试。并输出删除数据前后的数组。 展开
 我来答
漠影歌
2015-05-05 · TA获得超过807个赞
知道小有建树答主
回答量:483
采纳率:50%
帮助的人:449万
展开全部
给你个思路,尝试自己去写吧,挺简单的:
假设a数组要操作的数组,b数组是删除数据后存放a数组元素的数组
首先,通过for循环对该a数组进行遍历,通俗一点就是给个临时变量i,让i++,使得a数组能从第一个查询到最后一个,在for循环体里面可以将a数组的值逐个放入b数组中,我们需要进行一次判断,如果a数组的值除以2 取余之后为0,则这个数为偶数,当这个if语句成立的时候break,跳出循环,设定一个临时变量保存当前a数组的下标,再之后再写一个循环,i要等于刚刚设定的那个临时变量,然后逐个将将a数组的剩下的值逐个放入b数组中
追问
可以给编一下吗  还有个运行环境

百度网友e9d4f3d
2015-05-05 · TA获得超过150个赞
知道小有建树答主
回答量:96
采纳率:0%
帮助的人:109万
展开全部
#include<stdio.h>

int shanchu(int *a,int n)
{
int t,i,j;
for(i=1;i<=n;i++)
{
if(a[i]%2==0)
{
break;
}
}
for(j=i;j<=n-1;j++)
{
a[j]=a[j+1];
}
return n-1;
}
void print(int *a,int n)
{
printf("输出结果为:\n");
int i;
for(i=1;i<=n;i++)
{
printf("%d ",a[i]);
}
printf("\n");
}
int main()
{
int a[100],n,i;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
scanf("%d",&a[i]);
}
print(a,n);
n=shanchu(a,n);
print(a,n);
return 0;
}

有问题请追问。代码已给出

更多追问追答
追问
可以运行吗

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式