一道c语言的题目,怎么写啊?

img

你这个题目应该是显示排序的过程,排序算法应该是选择排序,代码如下:

#include <stdio.h>
#define N 20

int main()
{
    int i,j,n,t,a[N];
    scanf("%d",&n);
    for(i=0;i<n;i++)
        scanf("%d",&a[i]);
    
    for (i=0;i<n-1;i++)
    {
        t = i;
        //找出第i小的数所在的位置
        for(j=i+1;j<n;j++)
        {
            if(a[j] < a[t])
                t = j;
        }

        //将第i小的数放在第i个位置
        if (i != t)
        {
            j = a[i];
            a[i] = a[t];
            a[t] = j;
        }

        //显示数组
        for (j=0;j<n;j++)
        {
            if(j < n-1)
                printf("%d ",a[j]);
            else
                printf("%d\n",a[j]);
        }


    }
    return 0;
}

这是把排序的每趟结果都显示出来吧

#include <stdio.h>
int main()
{
    int a[100];
    int n,i,j,t;
    scanf("%d",&n);
    for(i=0;i<n;i++)
        scanf("%d",&a[i]);
    for(i=0;i<n-1;i++)
    {
        for(j=i+1;j<n;j++)
        {
            if(a[i] > a[j])
            {
                t = a[i];
                a[i] = a[j];
                a[j] = t;
            }
        }
        for(j=0;j<n;j++)
            printf("%d ",a[j]);
    }
    return 0;
}