后面的题目请用c语言编写程序 要求答案一定要正确
时间: 2024-03-26 13:39:29 浏览: 75
C语言程序设计(第3版)谭浩强清华大学出版社课后习题答案.pdf
好的,以下是题目的C语言代码实现:
```
#include <stdio.h>
int main() {
int n, i, j, k, a[1010], b[1010], t;
scanf("%d", &n);
for (i = 0, j = 0, k = 0; i < n; i++) {
scanf("%d", &t);
if (t % 2 == 0) b[j++] = t;
else a[k++] = t;
}
for (i = 0, j = 0, k = 0; i < n; i++) {
if (i % 2 == 0) {
if (k < j / 2 || a[k] < b[j / 2]) printf("%d ", a[k++]);
else printf("%d ", b[j++]);
} else {
if (j / 2 < k || b[j / 2] < a[k]) printf("%d ", b[j++]);
else printf("%d ", a[k++]);
}
}
return 0;
}
```
代码思路:
首先使用两个数组 a 和 b 分别存储到达银行的奇数和偶数客户,然后使用两个指针 k 和 j,分别指向数组 a 和 b 的首元素,用 i 来遍历所有的客户。最后按照题目的要求输出客户的编号即可。
代码时间复杂度为 O(n),因为只需要遍历一遍所有的客户。
阅读全文