黑马程序员技术交流社区

标题: 新人,今天预习了c语言数组,这个选择排序凑合着打出来,求.... [打印本页]

作者: 李凯666    时间: 2015-11-5 21:36
标题: 新人,今天预习了c语言数组,这个选择排序凑合着打出来,求....
#include <stdio.h>
int main(){
    //定义一维数组:数组类型 数组名[]
    //定义二维数组:数组类型 数组名[数组的数量][子数组的长度]
    //二维数组的初始话:类型 数组名[数组的数量][子数组的长度]={(子数组长度),(子数组)...//一共有子数组的数};如:int arr[2][2] = {(1,2),(2,3)};
    //赋值:数组名[下标][子数组下标] = 值;如arr[1][2] = 3;
    //使用:int a = arr[1][2];
    //练习 已知有一个int数组:int arr[6] = {1,2,3,8,5};
    //1编写一个函数求这个函数的最大值
    /*
     int arr[6] = {1,2,4,3,8,5};
    int max = arr[0];
    for(int i = 0;i<6;i++){
    if(arr>max){
         max = arr;
    }
    }
    printf("arr数组的最大值是:%d\n",max);
     */
    //2.给这个数组从大到小排序
    /*
     //第一种方法
     int arr[6] = {1,2,4,3,8,5};
    for(int j = 0;j<6;j++){
    for(int i = j+1;i<6;i++){
        int a = 0;
        if(arr[j]<arr){
            a = arr[j];
            arr[j] = arr;
            arr = a;
        }

    }
        printf("%d\n",arr[j]);
    }
     */
    int arr[6] = {1,2,4,3,8,5};
//    int max = 0;
    for(int j = 0;j<6;j++){
        int max = j;
    for(int i = j+1;i<6;i++){
        //int arr[max] = arr;
        //      0       1
        if(arr[max]<arr){
            //1
            max = i;
        }
    }
            //输出一个最大值,排序
            int maxTemp = arr[j];
             arr[j] = arr[max];
        arr[max] = maxTemp;



//输出一个最大值,排序

        printf("%d\t",arr[j]);

    }

    return 0;
}







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