#include<stdio.h>
#define ARRSZ 10001
void insertElem(float arr[],int n,float elem)
/*arr空间足够大且其元素按照升序排列,将elem插入arr中并保持其升序特点*/
{
int i;
float tmp;
if(n==0||elem>=arr[n-1])
{
arr[n]=elem;
return;
}
for(i=n-1;i>=0&&elem<arr[i];i--)
{
arr[i+1]=arr[i];
}
arr[i+1]=elem;//将元素放入最终位置
}
int main()
{
int idx,n=0;
float price,pdata[ARRSZ];
do{
scanf("%f",&price);
if(price<=0)
break;
insertElem(pdata,n,price);//调用insertElem将price的值加入pdata数组
n++;
}while(n<ARRSZ);
for(idx=0;idx<n;idx++)//按升序输出所输入的实数
printf("%.21f\t",pdata[idx]);
return 0;
}
~
我吐了呀,我说一直输不到头,原来定义了一万零一个