c语言给四个数排序double,【求助】用double指针从用户那里得到10个数,并对他们排序...

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

/*通过double指针从用户那里获得10个数字,然后对他们进行排序,并将它们打印到屏幕上*/

#include

#include

#define N 10

void paixu( double *b[] );

void print( double **b );

void free_memory( double *b[]);

int main( void )

{

double *a[N];

printf("\n请输入十个数\n");

for( int i = 0; i < N; i++)

{

a[i] = (double *)malloc(sizeof(double));

if( !a[i] )

{

printf("ERROR");

exit(-1);

}//malloc分配不成功退出

scanf("%f",a[i]);

}

paixu(a);

print(a);

free_memory(a);

system("pause");

return 0;

}

void paixu( double *b[] )

{

int c,i,j;

double *tmp;

printf("\n从大到小排序请按0,从小到大排序请按1\n");

scanf("%d", &c);

if( c==0 )

{

for(i=0; i

{

for(j=0; j

{

if(*b[j] < *b[j+1])

{

tmp = b[j];

b[j] = b[j+1];

b[j+1] = tmp;

}

}

}

}

if( c==1 )

{

for(i=0; i

{

for(j=0; j

{

if(*b[j] > *b[j+1])

{

tmp = b[j];

b[j] = b[j+1];

b[j+1] = tmp;

}

}

}

}

}

void print( double *b[])

{

for( int i = 0; i

printf("%lf\n",*b[i]);

}

void free_memory( double *b[])

{

for( int i = 0; i

free(b[i]);

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值