c语言,输入n和n个整数,先升序再降序那然后绝对值排序,使用函数的调用

 我来答
cdyzxy
2014-04-10 · TA获得超过2.1万个赞
知道大有可为答主
回答量:1.4万
采纳率:85%
帮助的人:3764万
展开全部

#include<stdio.h>

#include<stdlib.h>

void px1(int *a,int n) //升序

{ int i,j,k; for ( i=0;i<n-1;i++ ) for ( j=i+1;j<n;j++ ) if ( a[i]>a[j] ) { k=a[i]; a[i]=a[j]; a[j]=k; } }

void px2(int *a,int n) //降序

{ int i,j,k; for ( i=0;i<n-1;i++ ) for ( j=i+1;j<n;j++ ) if ( a[i]<a[j] ) { k=a[i]; a[i]=a[j]; a[j]=k; } }

void px3(int *a,int n) //绝对值降序

{ int i,j,k; for ( i=0;i<n-1;i++ ) for ( j=i+1;j<n;j++ ) if ( abs(a[i])<abs(a[j]) ) { k=a[i]; a[i]=a[j]; a[j]=k; } }

void main()

{ int a[256],n,i;

  scanf("%d",&n); if ( n<0 ) n=0; else if ( n>256 ) n=256;

  for ( i=0;i<n;i++ ) scanf("%d",a+i);

  px1(a,n); for ( i=0;i<n;i++ ) printf("%d ",a[i]); printf("\n");

  px2(a,n); for ( i=0;i<n;i++ ) printf("%d ",a[i]); printf("\n");

  px3(a,n); for ( i=0;i<n;i++ ) printf("%d ",a[i]); printf("\n");

}

愉锋n
2014-04-10 · TA获得超过362个赞
知道小有建树答主
回答量:274
采纳率:50%
帮助的人:225万
展开全部
个人建议链表实现,三个函数,三种排序方式。多好,呵呵
追问
就是写三个函数,求程序
追答

恩,等下发给你


搞定,使用一个头节点,方便操作。


请采纳哈

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式