使用函数insert从数组中写入一个应该从用户获得5个浮点值的程序,然后使用函数sort对这些值进行排序,然后使用功能显示。打印排序的浮点数组时出错
这是我的代码,请告诉我我在哪里做了错事。排序后打印0.000。
所有的#include <stdio.h>
void insert(float array[],int val);
void disp(float array[],int val);
void sort(float array[], int val);
void main()
{
float array[5],j;
printf("Enter numbers: \n");
insert(array,5); //array input function
printf("Enter numbers are: \n");
disp(array,5); //array output function
sort(array,5); //array sort function
printf("\nSorted Array is: \n");
disp(array,5); //array output function
}
//array input function
void insert(float array[],int val)
{
int k,i;
for (k = 0;k<5;k++){
scanf("%f",&array[k]);
}
}
//array sort function
void sort(float array[], int val){
int i,j;
float hold;
for(i=0; i<6; i++)
{
for(j=0; j<6; j++)
{
if(array[j]>array[j+1])
{
hold=array[j];
array[j]=array[j+1];
array[j+1]=hold;
}
}
}
}
//array display function
void disp(float array[],int val)
{
int k;
for (k = 0;k<5;k++){
printf("%f\n",array[k]);
}
}
为什么排序循环在0和5之间? – Tarik
disp函数中val参数的用法是什么? – Tarik