输入10个整数,彼此以空格分隔。重新排序以后输出(也按空格分隔),要求: 1.先输出其中的奇数,并按从大到小排列; 2.然后输出其中的偶数,并按从小到大排列,用c语言写出这段代码
时间: 2024-05-12 13:21:04 浏览: 95
10个整数从小到大排序输出.c
```c
#include <stdio.h>
int main() {
int nums[10];
int odd[10], even[10]; // 定义奇数和偶数数组
int oddCount = 0, evenCount = 0; // 奇数和偶数个数
int i, j, temp;
// 输入10个整数
for (i = 0; i < 10; i++) {
scanf("%d", &nums[i]);
if (nums[i] % 2 == 0) { // 分别存入奇数和偶数数组
even[evenCount++] = nums[i];
} else {
odd[oddCount++] = nums[i];
}
}
// 奇数从大到小排序
for (i = 0; i < oddCount - 1; i++) {
for (j = 0; j < oddCount - i - 1; j++) {
if (odd[j] < odd[j + 1]) {
temp = odd[j];
odd[j] = odd[j + 1];
odd[j + 1] = temp;
}
}
}
// 偶数从小到大排序
for (i = 0; i < evenCount - 1; i++) {
for (j = 0; j < evenCount - i - 1; j++) {
if (even[j] > even[j + 1]) {
temp = even[j];
even[j] = even[j + 1];
even[j + 1] = temp;
}
}
}
// 输出排序后的结果
for (i = 0; i < oddCount; i++) {
printf("%d ", odd[i]);
}
for (i = 0; i < evenCount; i++) {
printf("%d ", even[i]);
}
return 0;
}
```
阅读全文