c语言给定一个长度为 N(不大于 500)的正整数序列,请将其中的所有奇数取出,并按升序输出
时间: 2024-02-15 14:05:41 浏览: 85
给定N个正整数,请统计奇数和偶数各有多少个-C语言代码
好的,我可以帮你写一个 C 语言程序解决这个问题。以下是代码:
```c
#include <stdio.h>
int main() {
int n, i, j, temp;
int a[500];
// 输入序列长度和序列元素
scanf("%d", &n);
for (i = 0; i < n; i++) {
scanf("%d", &a[i]);
}
// 冒泡排序,将奇数按升序排在前面
for (i = 0; i < n - 1; i++) {
for (j = 0; j < n - 1 - i; j++) {
if (a[j] % 2 == 0 && a[j+1] % 2 == 1) {
temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
}
}
}
// 输出奇数序列
for (i = 0; i < n; i++) {
if (a[i] % 2 == 1) {
printf("%d ", a[i]);
}
}
printf("\n");
return 0;
}
```
程序的思路是先输入序列长度和元素,然后通过冒泡排序将奇数按升序排在前面,最后输出奇数序列。程序中用到了取余操作符 `%`,用来判断一个数是奇数还是偶数。
阅读全文