测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A41047. 排序问题

填空题 中等

题目描述

排序问题

题目描述

将四个整数进行从小到大的顺序排列,

输入格式

四个整数

输出格式

从小到大输出这四个数

样例输入

5 3 4 2

样例输出

2 3 4 5

参考答案

#include<stdio.h> #include<malloc.h> void maoSort(int R[],int n); void print_(int R[],int n); int main() { int n=4;/*序列长度为4*/ /*为数组开辟空间*/ int *R=(int *)malloc(n*sizeof(int)); while(scanf("%d",&R[0])!=EOF) { /*输入数据*/ for(int i=1;i<n;i++) scanf("%d",&R[i]); /*用冒泡排序*/ maoSort(R,n); /*输出排序结果*/ print_(R,n); free(R); } return 0; } /*==================================================*/ void maoSort(int R[],int n) { int p=0;/*用于一次遍历中是否发生交换*/ int term; for(int i=0;i<n-1;i++) { p=0; for(int j=0;j<n-i-1;j++) { if(R[j]>R[j+1]) { /*进行交换*/ term=R[j]; R[j]=R[j+1]; R[j+1]=term; /*交换标志置1*/ p=1; } } /*如果没发生交换,说明序列有序,直接跳出循环*/ if(p==0) break; } } /*==================================================*/ void print_(int R[],int n) { for(int i=0;i<n-1;i++) printf("%d ",R[i]); printf("%d\n",R[n-1]); }
上一题 下一题