写一段c代码 输入12个数升序排列,奇数在前,偶数在后
时间: 2024-03-09 08:03:22 浏览: 59
下面是一个简单的 C 语言代码,实现输入12个数升序排列,奇数在前,偶数在后的功能:
```c
#include <stdio.h>
int main() {
int nums[12];
int i, j, temp;
printf("请输入 12 个整数:\n");
for (i = 0; i < 12; i++) {
scanf("%d", &nums[i]);
}
// 奇数在前,偶数在后的排序
for (i = 0; i < 11; i++) {
for (j = 0; j < 11 - i; j++) {
if ((nums[j] % 2 == 0) && (nums[j + 1] % 2 != 0)) {
temp = nums[j];
nums[j] = nums[j + 1];
nums[j + 1] = temp;
}
}
}
// 升序排序
for (i = 0; i < 11; i++) {
for (j = 0; j < 11 - i; j++) {
if (nums[j] > nums[j + 1]) {
temp = nums[j];
nums[j] = nums[j + 1];
nums[j + 1] = temp;
}
}
}
printf("排序结果为:\n");
for (i = 0; i < 12; i++) {
printf("%d ", nums[i]);
}
return 0;
}
```
代码中首先定义了一个长度为 12 的整型数组 `nums`,用于存储输入的 12 个整数。
然后通过一个循环,依次读取用户输入的 12 个整数。
接着,使用冒泡排序的方法,将奇数排在偶数前面。在冒泡排序的过程中,如果相邻两个数的前一个是偶数,后一个是奇数,则将它们互换位置。
最后,再使用冒泡排序的方法,将整个数组升序排序。在冒泡排序的过程中,如果相邻两个数的前一个比后一个大,则将它们互换位置。
最后,将排序后的数组输出即可。
阅读全文