起初我使用冒泡排序对一些数字进行排序,然后又工作了,然后再次尝试使用冒泡排序对具有相同逻辑的2个函数进行排序,但是它不起作用。我刚开始使用2/3函数那么,有人可以帮我找到符合我逻辑的问题吗?
map()
#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]);
}
}
答案 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[])