java删除数组中的奇数_B004 删除数组中的偶数

下列给定程序中,函数fun的功能是:把形参a所指数组中的奇数按原顺序依次存放到a[0]、a[1]、a[2]、……中,把偶数从数组中删除,奇数个数通过函数值返回。

例如:若a所指数组中的数据最初排列为:9、1、4、2、3、6、5、8、7,删除偶数后a所指数组中的数据为:9、1、3、5、7,返回值为5。

请在下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。

#include

#define N 9

int fun(int a[], int n)

{ int i,j;

j = 0;

for (i=0; i

/**********found**********/

if (a[i]%2==___1___)

{

/**********found**********/

a[j] = a[i]; ___2___;

}

/**********found**********/

return ___3___;

}

main()

{ int b[N]={9,1,4,2,3,6,5,8,7}, i, n;

printf("\nThe original data :\n");

for (i=0; i

printf("\n");

n = fun(b, N);

printf("\nThe number of odd : %d \n", n);

printf("\nThe odd number :\n");

for (i=0; i

printf("\n");

}

【参考答案】

(1) 1

(2) j++

(3) j

【考点分析】

本题考查:if语句条件表达式;自增/自减运算符;函数返回值。

【解题思路】

填空1:根据题目要求,需要进行奇偶数的判定,我们可以通过if条件语句来判断数组元素是否是奇数,如果元素不能被2整除,则为奇数,所以填入if (a[i]%2==1)。

填空2:将为奇数的元素重新存放到数组的前面,同时下标增1。

填空3:函数返回值需要返回数组中奇数的个数,因此返回变量j。

【解题宝典】

奇数和偶数的判定方法,通过if条件语句完成,对2求余运算,结果为0是偶数,结果为1是奇数。

自增1、自减1运算符:自增1运算符记为”++”,其功能是使变量的值自增1。自减1运算符记为”--”,其功能是使变量值自减1。自增1、自减1运算符均为单目运算,都具有右结合性。有以下几种形式:

++i:i自增1后再参与其他运算。

--i: i自减1后再参与其他运算。

i++:i参与运算后,i的值再自增1。

i--: i参与运算后,i的值再自减1。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值