输入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
时间: 2024-01-10 09:07:59 浏览: 134
好的,这是一个简单的排序和分类问题,我会帮您解决。以下是代码实现:
```python
#include <stdio.h>
int main()
{
int nums[10], odd[10], even[10];
int odd_count = 0, even_count = 0;
printf("Input 10 numbers: ");
for (int i = 0; i < 10; i++)
{
scanf("%d", &nums[i]); // 输入10个整数
if (nums[i] % 2 == 0)
{
even[even_count++] = nums[i]; // 将偶数存入even数组
}
else
{
odd[odd_count++] = nums[i]; // 将奇数存入odd数组
}
}
// 对odd数组进行升序排序
for (int i = 0; i < odd_count; i++)
{
for (int j = i + 1; j < odd_count; j++)
{
if (odd[i] > odd[j])
{
int temp = odd[i];
odd[i] = odd[j];
odd[j] = temp;
}
}
}
// 对even数组进行升序排序
for (int i = 0; i < even_count; i++)
{
for (int j = i + 1; j < even_count; j++)
{
if (even[i] > even[j])
{
int temp = even[i];
even[i] = even[j];
even[j] = temp;
}
}
}
// 将odd和even数组合并输出
printf("Output: ");
for (int i = 0; i < odd_count; i++)
{
printf("%d ", odd[i]);
}
for (int i = 0; i < even_count; i++)
{
printf("%d ", even[i]);
}
return 0;
}
```
您可以将上述代码复制到 C 语言的编译器中运行,输入 10 个整数,即可得到排序后的结果。
阅读全文