Tsukinai的第四十个程序
将数据按照奇偶排序
输入10个数,将10个整数按升序排列输出,并且奇数在前,偶数在后。如果输入的10个数是:10 9 8 7 6 5 4 3 2 1 ,则输出:1,3,5,7,9,2,4,6,8,10。(编程提示:可利用2个数组变量,一个用来存放输入的整数,输入后,对这个数组进行排序,然后将数据复制到另一个数组中,先复制奇数再复制偶数)。
程序运行结果如下:
Input 10 numbers:
3 12 7 65 8 4 17 25 36 50↙
Output: 3,7,17,25,65,4,8,12,36,50
输入格式: “%d”
输入数据提示信息:“Input 10 numbers:\n”
输出格式:
输出数据提示信息:“Output: " (注:冒号“:”的后面有一个空格)
前9个数据的输出格式:”%d,"
最后一个数据的输出格式:"%d\n"
#include <stdio.h>
#include <stdlib.h>
void Sort(int a[], int n)
{
int i, j, temp;
for (j = n - 1; j > 0; j--)
{
for (i = 0; i < j; i++)
{
if (a[i] > a[i + 1])
{
temp = a[i];
a[i] = a[i + 1];
a[i + 1] = temp;
}
}
}
}
int main()
{
int a[10], b[10], i = 0, j = 0, k, n;
printf("Input 10 numbers:\n");
for (k = 0; k < 10; k++)
{
scanf("%d", &n);
if (n % 2 != 0)
{
a[i] = n;
++i;
}
else
{
b[j] = n;
++j;
}
}
Sort(a, i);
Sort(b, j);
printf("Output: ");
for (k = 0; k < i; k++)
{
printf("%d,", a[k]);
}
for (k = 0; k < j - 1; k++)
{
printf("%d,", b[k]);
}
printf("%d", b[j - 1]);
system("pause");
return 0;
}