C语言 输入10个数,将10个整数按升序排列输出,并且奇数在前,偶数在后。如果输入的10个数是:10 9 8 7 6 5 4 3 2 1 ,则输出:1 3 5 7 8 2 4 6 8 10。(编程提示:可利用2个数组变量,一个用来存放输入的整数,输入后,对这个数组进行排序,然后将数据复制到另一个数组中,先复制奇数再复制偶数)。 输入提示:Input 10 numbers: 输入格式:%d 输出格式:Output:%d,%d,%d,%d,%d,%d,%d,%d,%d,%d
时间: 2023-07-15 14:11:50 浏览: 40
以下是 C 语言的代码实现:
```c
#include <stdio.h>
int main() {
int arr1[10], arr2[10], i, j, k = 0, temp;
printf("Input 10 numbers: ");
for(i = 0; i < 10; i++) {
scanf("%d", &arr1[i]);
}
// 冒泡排序
for(i = 0; i < 9; i++) {
for(j = 0; j < 9 - i; j++) {
if(arr1[j] > arr1[j + 1]) {
temp = arr1[j];
arr1[j] = arr1[j + 1];
arr1[j + 1] = temp;
}
}
}
// 复制奇数到 arr2 中
for(i = 0; i < 10; i++) {
if(arr1[i] % 2 != 0) {
arr2[k] = arr1[i];
k++;
}
}
// 复制偶数到 arr2 中
for(i = 0; i < 10; i++) {
if(arr1[i] % 2 == 0) {
arr2[k] = arr1[i];
k++;
}
}
// 输出结果
printf("Output:");
for(i = 0; i < 10; i++) {
printf("%d,", arr2[i]);
}
return 0;
}
```
输出结果为:1,3,5,7,9,2,4,6,8,10, 符合题目要求。