编写函数,用指针变量做形参,函 数功能为将一个数组中所有奇数存 放在另一个数组中,在主函数中输 入10个值,调用函数,输出结果。 (一维数组)
时间: 2024-03-20 17:39:55 浏览: 46
好的,以下是符合要求的函数代码:
```c
void separate_odd(int* source, int* target, int size) {
int i, j = 0;
for (i = 0; i < size; i++) {
if (*(source + i) % 2 != 0) {
*(target + j) = *(source + i);
j++;
}
}
}
```
在这个函数中,我们接收了三个参数:源数组 `source`、目标数组 `target` 和数组大小 `size`。函数的功能是将源数组中所有的奇数复制到目标数组中,因此我们需要遍历源数组,找到所有的奇数,并将它们复制到目标数组中。在这个函数中,我们使用了指针变量来访问数组元素,这样我们可以在函数内部修改数组元素的值。
在主函数中,我们可以通过以下方式来调用这个函数:
```c
int main() {
int source[10];
int target[10];
int i;
printf("请输入10个整数:\n");
for (i = 0; i < 10; i++) {
scanf("%d", &source[i]);
}
separate_odd(source, target, 10);
printf("所有的奇数:\n");
for (i = 0; i < 10; i++) {
if (target[i] % 2 != 0) {
printf("%d ", target[i]);
}
}
printf("\n");
return 0;
}
```
在这个主函数中,我们首先定义了两个数组:`source` 和 `target`,然后通过循环从用户输入中读取了10个整数值,接着调用 `separate_odd` 函数,将所有的奇数从 `source` 复制到 `target` 中。最后,我们再次循环遍历 `target` 数组,输出其中的所有奇数。
阅读全文