hang011103 发表于 2020-12-3 23:52:59

关于调用函数排十个数的大小





//哪位大哥帮俺看看,为毛会失败啊,感觉没啥大问题。






#include<stdio.h>
int main(){
        void sort(int array[],int n);
        int a={45,2,9,0,-3,54,12,5,66,33 },i;

        sort(a,10);
        printf("the sorted array:\n");
        for(i=0;i<10;i++)       
                printf("%d   ",a);
        printf("\n");

        return 0;
}

void sort(int array[],int n)
{
        int i,j,t;

        for(i=0;i<n-1;i++)
                for(j=0;j<n-1-i;j++){
                if(array>array)
                        t=array;array=array;array=t;
                }
}

昨非 发表于 2020-12-4 00:01:34

#include<stdio.h>
int main() {
        void sort(int array[], int n);
        int a = { 45,2,9,0,-3,54,12,5,66,33 }, i;

        sort(a, 10);
        printf("the sorted array:\n");
        for (i = 0; i < 10; i++)
                printf("%d   ", a);
        printf("\n");

        return 0;
}

void sort(int array[], int n)
{
        int i, j, t;

        for (i = 0; i < n - 1; i++)
        {
                for (j = 0; j < n - 1 - i; j++)
                {
                        if (array > array)
                        {
                                t = array; array = array; array = t;
                        }
                }
        }
}

昨非 发表于 2020-12-4 00:02:10

本帖最后由 昨非 于 2020-12-4 00:13 编辑

把该加的大括号全加上,就对了
就是
                     t=array;array=array;array=t;
这一行,要严格控制在if下,不然执行顺序就错了
测试结果:

the sorted array:
-3   0   2   5   9   12   33   45   54   66

满意的话请设为最佳答案

臣卜木曹 发表于 2020-12-4 00:35:53

{:10_249:}
页: [1]
查看完整版本: 关于调用函数排十个数的大小