黑马程序员技术交流社区

标题: 实现 提示用户输入数组,然后选择方法排序...... [打印本页]

作者: 驴小叔    时间: 2015-9-6 23:05
标题: 实现 提示用户输入数组,然后选择方法排序......
#include <stdio.h>
void print(int arr[],int len){
    for (int i =0; i < len ; i++) {
        printf("%d  ",arr[i]);
    }
   
}
void xuanZe(int arr[],int len){
    for (int i = 0; i < len -1; i++) {
        for (int j = i+1; j < len; j++) {
            if (arr[i]>arr[j]) {
                int temp =arr[i];
                arr[i] = arr[j];
                arr[j] = temp;
            }
        }
    }
    printf("欢迎选择选择排序!");
}
void maoPao(int arr[],int len){
    for (int i = 0; i < len - 1; i++) {
        for (int j =0; j < len - 1 -i; j++) {
            if (arr[j]>arr[j+1]) {
                int temp = arr[j];
                arr[j] = arr[j+1];
                arr[j+1] = temp;
            }
        }
    }
    printf("欢迎选择冒泡排序!");

}
int main(int argc, const char * argv[]) {
    //定义一个变量作为数组的长度
    int len;
    //提示输入长度
    printf("请输入一个数字作为数组的长度:");
    //接受
    scanf("%d",&len);
    //利用for循环接受数组的元素
    int arr[len];
    for (int i = 0; i < len ; i++) {
        printf("输入的第%d个元素\n",i+1);
        scanf("%d",&arr[i]);
    }
    printf("\n");
    //提示用户选择一个方法
    printf("请输入您要排序的方法:1.选择排序 2冒泡排序\n");
    //接受一种方法用switch语句可以实现
    int a;
    scanf("%d",&a);
    //定义两个函数  选择,冒泡
    switch (a) {
        case 1:
            xuanZe(arr,len);
            break;
            
        case 2:
            maoPao(arr, len);
            break;
    }
   
    //调用函数
    print(arr,len);
    return 0;
}

作者: 驴小叔    时间: 2015-9-6 23:06
嘿嘿.....几个都弄到一起......撸了撸




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2