C语言问题,这个程序表示不理解这句, if (a[i]%2==1) { a[j] = a[i]; j++; }

2025-02-27 16:50:27
推荐回答(3个)
回答1:

是把偶数删掉吧,呵呵
a[j] = a[i]; j++;
这两句可以合并成一句
a[++j] = a[i];

回答2:

#include
#define N 9
int fun(int *a, int n)
{ int i,j;
j = 0;
for (i=0; iif (a[i]%2==1) //如果是奇数
{
a[j] = a[i]; j++;//重新复制给数组a
}
return j; //返回奇数的个数
}
main()
{ int b[N]={9,1,4,2,3,6,5,8,7}, i, n;
printf("\nThe original data :\n");
for (i=0; iprintf("\n");
n = fun(b, N);
printf("\nThe number of odd : %d \n", n);
printf("\nThe odd number :\n"); // 5
for (i=0; iprintf("\n");
}

回答3:

都好久没弄了,毕业了,你看看谭浩强那书吧