二维数组、字符串数组、多维数组

来源:互联网 发布:知之深爱之切第1至12篇 编辑:程序博客网 时间:2024/04/27 15:10

  //1(**)一维浮点型数组的冒泡排序函数

   for (int i =0; i < n; i++) {

       array[i] =arc4random() % 101 +30;

      printf("array[%d] = %f\n",i,array[i]);

    }

   for (int i =0; i < n - 1; i++) {

       for (int j =0; j < n - 1 - i; j++) {

           if (array[j] > array[j+1]) {

               float temp = array[j];

                array[j] = array[j +1];

                array[j +1] = temp;

            }

        }

    }

   for (int i =0; i < n; i++) {

       printf("%f\t\n",array[i]);

    }

}

// 1.(**)有一个 3 4 列的二维数组,要求编程找出最大的元素,并输出所在的行和列。//        int max = 0, array[3][4] = {0};

//    for (int i = 0; i < 3; i++) {

//        for (int j = 0; j < 4; j++) {

//            array[i][j] = arc4random()%51+10;

//            printf("%d ",array[i][j]);

//            if (max < array[i][j]) {

//                max = array[i][j];

//            }

//        }printf("\n");

//    }printf("最大值为%d", max);

//    for (int i = 0; i < 3; i++) {

//        for (int j = 0; j < 4; j++) {

//            if (array[i][j] == max) {

//                printf("\n%d%d", i, j);

//            }

//        }

//    }

//    

//  2.(**)输入 6 个字符串,并对它们按从小到大的顺序排序后输出。//        char str[6][10] = {"lisi", "wangwu", "zhangsan", "fangfang", "zhutou", "shagua"};

//    for (int i = 0; i < 5; i++) {

//        for (int j = 0; j < 5 - i; j++) {

//            if (strcmp(str[j], str[j+1]) > 0) {

//                char temp[10] = {0};

//                strcpy(temp, str[j]);

//                strcpy(str[j], str[j+1]);

//                strcpy(str[j+1], temp);

//            }

//        }

//    }

//    for (int i = 0; i < 6; i++) {

//        printf("%s\t", str[i]);

//    }

//    

//    3.(**)随机生成一个三维数组,编程求深度的平均值,保存在一个二维数组(相当于一个魔方从上面看)//        int array0[4][4] = {0};

//    int arr[N][M] = {0};

//    for (int i = 0; i < N; i++) {

//        for (int j = 0; j < M; j++) {

//            arr[i][j] = arc4random()%99 + 1;

//            printf("%-2d ", arr[i][j]);

//        }

//        printf("\n");

//    }

//    BOOL flag = 1;

//    int count = 0;

//    for (int i = 0; i < N; i++) {

//        for (int j = 0; j < M; j++) {

//            //把数组当前的数和整行比较,如果不是最大值跳出当前循环,并把标记置为0

//            for (int k = 0; k < M; k++) {

//                if (arr[i][j] < arr[i][k]){

//                    flag = 0;

//                    break;

//                }

//            }

//            

//            if (flag) {

//                //把数组当前的数和整列进行比较,如果不是最小的跳出当前循环,并把标记置为0

//                for (int x = 0; x < N; x++) {

//                    if (arr[i][j] > arr[x][j]) {

//                        flag = 0;

//                        break;

//                    }

//                }

//            }

//            

//            //如果标记不为零,说明数组当前数据为行最大值,列最小值.是鞍点打印出来

//            if (flag) {

//                printf("arr[%d][%d] = %d是鞍点  ", i, j, arr[i][j]);

//                count++;

//            }

//            flag = 1;

//        }

//    }

//    if (count == 0) {

//        printf("没有鞍点!!");

//    }

//    

//    

//    .4求鞍点,该行最大,该列最小

//    int a[3][4] = {},t = 0,k = 0,max = 0,min = 0,l = 0,x = 0;

//    for (int i = 0;i < 3;i++){

//        for (int j = 0;j < 4;j++){

//            a[i][j] = arc4random()%41+10;

//            printf("%d\t", a[i][j]);

//        }printf("\n");

//    }printf("\n");

//    for (int i = 0;i < 3;i++)

//    {

//        max = a[i][0];

//        for (int j = 1; j < 4; j++)

//            if (a[i][j] > max)

//            {

//                max = a[i][j];

//                k = j;

//            }

//        min = a[0][k];

//        for (t = 1; t < 3; t++)

//            if (a[t][k] < min){

//                min = a[t][k];

//                x = t;

//            }

//        if (max == min)

//        {printf("鞍点在数组中的%d%d列值为%d\n", i, x, max);

//            l++;

//        }

//    }

//    if(l == 0)

//        printf("该数组没有鞍点\n");

//    

//    

//    

//    

//    float arr[3][4][5] = {0};

//    float sum = 0;

//    for (int i = 0; i < 3; i++) {

//        for (int j = 0; j < 4; j++) {

//            sum = 0;

//            for (int k = 0; k < 5; k++) {

//                arr[i][j][k] = arc4random()%99 + 1;

//                printf("%6.2f ", arr[i][j][k]);

//                //把深度的值累加

//                sum += arr[i][j][k];

//            }

//            //保存深度平均值

//            //arr[i][j][0] = sum/5;

//            printf(" = %6.2f", sum/5);

//            printf("\n");

//        }

//        printf("\n");

//    }

//    printf("深度平均值:\n");

//    for (int i = 0; i < 3; i++) {

//        for (int j = 0; j < 4; j++) {

//            printf("%6.2f", arr[i][j][0]);

//        }

//        printf("\n");

//    }




0 0
原创粉丝点击