zzz

扫码查看
# include <stdio.h>
int main()
{
    int a[5];
    int n; /*n是该数组中元素的个数*/
    int temp;
    int m, i, j;
    int count;  /*count是计数器*/
    printf("请输入元素的个数");
    scanf_s("%d", &n);
    for (m = 0; m < n; m++)
    {
        scanf_s("%d", &a[m]);
    }
    for (i = 0; i < n-1; i++)     /*因为第一个元素换了,所以要重新再来,值得注意的是只需要排n-1次即可*/
    {
        count = 0;
        for (j = 0; j < n-1-i; j++)     /*从第一个元素一直到后面,底下的if有j+1,千万不要超过范围,在一次内层循环结束以后最后一个属一定是最大的,所以下一次会少一次 -1*/
        {
            if (a[j] > a[j + 1])
            {
                temp = a[j];               /*如果内层循环一个数都不换,那么数据已经排好序了,那么直接跳出*/
                a[j] = a[j + 1];
                a[j + 1] = temp;
                count++;
            }
        }
        if (count==0)
            break;
    }
    for (i = 0; i < n; i++)
    {
        printf("%d ", a[i]);
    }
    return 0;
}
12-30 17:49
查看更多