| 
 
| 冒泡排序和选择排序,我把它编到一起,感觉很有成就感! #include <stdio.h>
 
 void test(){
 
 //定义一个数组
 int arr[]={1,3,67,5,6,34,25,18,96,78};
 //计算数组长度
 int len = sizeof(arr)/sizeof(int);
 //遍历数组
 for (int i=0; i<len; i++) {
 printf("arr[%d]=%d\t",i,arr[i]);
 }
 printf("\n");
 //提示用户选择冒泡排序or选择排序
 printf("请选择排序方式,1冒泡排序  2选择排序:\n");
 while (1) {
 //定义选择方式
 int a;
 //接收数据
 scanf("%d",&a);
 //排序方法
 //定义临时变量
 int temp;
 if(1==a){
 printf("冒泡排序法:");
 
 for (int i=0; i<len-1; i++) {
 for (int j=0; j<len-1-i; j++) {
 if (arr[j]>arr[j+1]) {
 temp=arr[j];
 arr[j]=arr[j+1];
 arr[j+1]=temp;
 }
 }
 }
 for (int i=0; i<len; i++) {
 
 printf("%d\t",arr[i]);
 
 }
 }else if (2==a){
 printf("选择排序法:");
 for (int i=0; i<len-1; i++) {
 for (int j=i+1; j<len; j++) {
 if (arr[i]>arr[j]) {
 temp=arr[i];
 arr[i]=arr[j];
 arr[j]=temp;
 }
 }
 }
 
 for (int i=0; i<len; i++) {
 
 printf("%d\t",arr[i]);
 
 }
 
 }else {
 printf("请按要求输入");
 
 }
 printf("\n");
 
 }
 
 
 }
 
 void print(int arr[],int len){
 
 for (int i=0; i<len; i++) {
 printf("arr[%d]=%d\t",i,arr[i]);
 }
 printf("\n");
 }
 void maoPao(int arr[],int len){
 int temp;
 for (int i=0; i<len-1; i++) {
 for (int j=0; j<len-1-i; j++) {
 if (arr[j]>arr[j+1]) {
 temp=arr[j];
 arr[j]=arr[j+1];
 arr[j+1]=temp;
 }
 }
 }
 for (int i=0; i<len; i++) {
 
 printf("%d\t",arr[i]);
 
 }
 
 }
 void xuanZe(int arr[],int len){
 int temp;
 for (int i=0; i<len-1; i++) {
 for (int j=i+1; j<len; j++) {
 if (arr[i]>arr[j]) {
 temp=arr[i];
 arr[i]=arr[j];
 arr[j]=temp;
 }
 }
 }
 for (int i=0; i<len; i++) {
 
 printf("%d\t",arr[i]);
 
 }
 
 
 }
 int main(){
 
 //定义一个数组
 int arr[]={1,3,67,5,6,34,25,18,96,78};
 //计算数组长度
 int len = sizeof(arr)/sizeof(int);
 
 print(arr, len);
 
 //提示用户选择冒泡排序or选择排序
 printf("请选择排序方式,1冒泡排序  2选择排序:\n");
 while (1) {
 //定义选择方式
 int a;
 //接收数据
 scanf("%d",&a);
 //排序方法
 if(1==a){
 printf("冒泡排序法:");
 maoPao(arr, len);
 
 }else if (2==a){
 printf("选择排序法:");
 xuanZe(arr, len);
 
 }else {
 printf("请按要求输入");
 
 }
 printf("\n");
 
 }
 
 
 return 0;
 
 }
 
 | 
 |