1条回答 默认 最新
- qfl_sdu 2021-08-31 17:40关注
代码如下:
#include <stdio.h> #define N 5 void fun(int a[],int n,int sx) { int i,j,tmp; for (i=0;i<n-1;i++) { for (j=0;j<n-1-i;j++) { if ( (sx && (a[j] > a[j+1])) || ( (!sx) && (a[j] < a[j+1]) ) ) //前一个是升序条件,后一个是降序条件 { tmp = a[j]; a[j] = a[j+1]; a[j+1] = tmp; } } } } int main() { int a[N];// = {3,4,9,7,11,33,44,2,6}; int i; printf("请输入5个数字:\n"); for(i=0;i<N;i++) scanf("%d",&a[i]); fun(a,N,1); //升序 printf("升序排列:\n"); for (i=0;i<N;i++) printf("%d ",a[i]); printf("\n"); fun(a,N,0); //降序 printf("降序排列:\n"); for (i=0;i<N;i++) printf("%d ",a[i]); printf("\n"); return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报