使用2函数对冒泡排序进行排序

时间:2018-08-18 07:13:31

标签: c function sorting bubble-sort

起初我使用冒泡排序对一些数字进行排序,然后又工作了,然后再次尝试使用冒泡排序对具有相同逻辑的2个函数进行排序,但是它不起作用。我刚开始使用2/3函数那么,有人可以帮我找到符合我逻辑的问题吗?

First source

map()

Second source w/function

#include<stdio.h>
main()
{
    int i,j;
    float num[5], c;

    for(i=0;i<5;i++)
    {
        scanf("%f",&num[i]);
    }
    for(j=0;j<4;j++)
    {
        for(i=0;i<5;i++)
        {
            if(num[i]<num[i+1])
            {
                c=num[i];
                num[i]=num[i+1];
                num[i+1]=c;
            }
        }
    }
    for(i=0;i<5;i++)
    {
        printf("%.2f\n",num[i]);
    }
}

2 个答案:

答案 0 :(得分:1)

请勿忽略警告。

warning: passing argument 1 of ‘sort’ from incompatible pointer type [enabled by default]
     sort(a);
     ^
sort.c:2:6: note: expected ‘int *’ but argument is of type ‘double *’
 void sort(int a[]);
  ^

您已将a声明为double,但是您的function收到了a作为int。 更改为如下。

void sort(double a[]);

答案 1 :(得分:0)

您正在通过双打

double a;
sort(a);

主函数中的值,但在函数声明部分,您的数据类型为整数

void sort(int a[])

更正为

void sort(double a[])