C语言输入十个整数,将十个整数按升序排列输出,并且奇数在前,偶数在后。
时间: 2024-10-14 08:05:09 浏览: 40
给定N个正整数,请统计奇数和偶数各有多少个-C语言代码
在C语言中,你可以使用数组和循环结构结合条件判断来实现这个功能。首先,创建一个数组存储十个整数,然后通过两个嵌套循环遍历整个数组,比较元素并交换位置。如果当前元素是奇数并且比下一个元素大,就交换它们的位置;如果当前元素是偶数,直接跳过。最后,再遍历一次数组,由于之前已经按照奇偶分组,所以可以直接输出。
以下是简单的示例代码:
```c
#include <stdio.h>
void sort_odd_even(int arr[], int n) {
for (int i = 0; i < n - 1; i++) {
if (arr[i] % 2 != 0 && arr[i + 1] % 2 == 0) {
// 交换奇数和偶数
int temp = arr[i];
arr[i] = arr[i + 1];
arr[i + 1] = temp;
}
}
}
// 主函数,获取用户输入并输出排序后的数组
int main() {
int arr[10];
printf("请输入十个整数:\n");
for (int i = 0; i < 10; i++) {
scanf("%d", &arr[i]);
}
sort_odd_even(arr, 10);
printf("按奇数在前偶数在后的顺序,排序结果为:\n");
for (int i = 0; i < 10; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
阅读全文