[英]sorting with bubble sort using 2 function
一開始我使用冒泡排序對一些數字進行排序,然后又工作了,然后再次嘗試使用冒泡排序對具有2個函數的邏輯進行排序。但是它不起作用。我剛開始使用2/3函數。有人幫我找到邏輯上的問題嗎?
#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]);
}
}
#include<stdio.h>
void sort(int a[]);
void main()
{
int i;
double a[3], A, B, C;
for(i=0;i<3;i++)
{
scanf("%lf",&a[i]);
}
sort(a);
printf("In The Function\n");
for(i=0;i<3;i++)
{
printf("%.2lf\n",a[i]);
}
return;
}
void sort(int a[])
{
int i, n;
double temp;
for(n=0;n<2;n++)
{
for(i=0;i<3;i++)
{
if(a[i]<a[i+1])
{
temp = a[i];
a[i] = a[i+1];
a[i+1] = temp;
}
}
}
return;
}
不要忽略警告。
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
as接收為int
。 將其更改為如下所示。
void sort(double a[]);
您正在通過雙打
double a;
sort(a);
主函數中的值,但在函數聲明部分,您的數據類型為整數
void sort(int a[])
改正為
void sort(double a[])
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.