1.一维数组:选择排序法、二分查找法; 2.二维数据:定义、引用、初始化,二维数组与矩阵。

5-1
输入一个正整数 n (1≤n≤10)和n 阶方阵a的元素,如果方阵a中的所有元素都沿主对角线对称,输出“Yes”, 否则,输出“No”。主对角线为从矩阵的左上角至右下角的连线,方阵a中的所有元素都沿主对角线对称指对所有i, k,a[i][k]和a[k][i]相等
一。实验代码

#include <stdio.h>
int main(void)
{
    int found, i, k, n;
    int a[10][10];

    scanf ("%d", &n);
    for (i = 0; i < n; i++)
        for (k = 0; k < n; k++)
            scanf("%d", &a[i][k]);

    found = 1;
    for (i = 0; i < n; i++){
        for (k = 0; k < i; k++){
            if ((3分)) {
                ;
                        break;
                         }
        }
        if (){
            break;
        }
    }

    if (found != 0){
        printf("Yes\n");
    }
    else{
        printf("No\n");
    }  

    return 0;
}

7-2 选择法排序 (20 分)
本题要求将给定的n个整数从大到小排序后输出。

#include<stdio.h>
int main()
{
    int i,index,k,n,temp;
    int a[10];
        scanf("%d", &n);
        for(i=0; i<n; i++)
             scanf("%d", &a[i]);
        for(k=0; k<n-1; k++){
            index=k;
            for(i=k+1; i<n; i++)
                if(a[i]>a[index])
                index=i;
                temp=a[index];
                a[index]=a[k];
                a[k]=temp;
                }
                printf("%d", a[0]);
                for(i=1; i<n; i++)
        printf(" %d", a[i]);
        return 0;
    }

二。流程图

三。结果截图

四。总结
从教材上得出解决的方法

7-1 找鞍点 (20 分)
一个矩阵元素的“鞍点”是指该位置上的元素值在该行上最大、在该列上最小。
本题要求编写程序,求一个给定的n阶方阵的鞍点
一。实验代码

#include <stdio.h>
 int main()
  {
   int a[6][6],n;
    scanf("%d",&n);
      int i,j;
       for(i=0; i<n; i++)
       for(j=0; j<n; j++)
        {
        scanf("%d",&a[i][j]);
         }
          int k=0,y=0,flag=1,p=0;
           if(n==1)
            printf("0 0");
             else
{
               for(i=0; i<n; i++)
   {
    y=i;
 for(p=0; p<n; p++)
             {
     if(a[i][k]<=a[i][p])
      {
          k=p;
      }
     }
     for(j=0; j<n; j++)
 {
  if(a[y][k]>a[j][k])
    {
     y=j;
     break;  }       

 }
 if(i==y)
      {
     flag=0;
    break;
      }
 }
  if(flag==0)
 printf("%d %d",i,k);
      else
        printf("NONE");
  }
  return 0;
        }  

二,截图

三,总结
花了很长时间,发现知识点掌握的不够全面,通过网上查找和观看教学视频解决问题

原文地址:https://www.cnblogs.com/jiajia2333/p/10579063.html

时间: 2024-08-16 17:37:59

1.一维数组:选择排序法、二分查找法; 2.二维数据:定义、引用、初始化,二维数组与矩阵。的相关文章

数组冒泡排序、选择排序、二分查找法

1 数组高级冒泡排序原理图解[掌握] 画图演示 需求: 数组元素:{24, 69, 80, 57, 13} 请对数组元素进行排序. 冒泡排序 相邻元素两两比较,大的往后放,第一次完毕,最大值出现在了最大索引处 2 数组高级冒泡排序代码实现[掌握] 案例演示 数组高级冒泡排序代码 package com.heima.array; public class Demo1_Array { public static void main(String[] args) { int[] arr = {24,

对分查找法(二分查找法,折半查找法)

二分查找法是针对已经排好序的序列进行查找 每次折半查找 算法时间复杂度,对于长度为N的序列,每次执行N/2,假设k次结束,最后到第一个N/2^k=0,所以k=logN 时间复杂度logN int binarysearch(const int array[], int x, int N) { int low, mid, high; low = 0, high = N - 1; while (low <= high) { mid = (low + high) / 2; if(array[mid] <

java——类型转换,冒泡排序,选择排序,二分查找,数组的翻转

一.类型转换 p { margin-bottom: 0.25cm; direction: ltr; color: #000000; line-height: 120%; text-align: justify; widows: 0; orphans: 0 } p.western { font-family: "Calibri", sans-serif; font-size: 10pt } p.cjk { font-family: "宋体"; font-size: 1

StringBuffer、StringBuilder、冒泡与选择排序、二分查找、基本数据类型包装类_DAY13

1:数组的高级操作(预习) (1)数组:存储同一种数据类型的多个元素的容器. (2)特点:每个元素都有从0开始的编号,方便我们获取.专业名称:索引. (3)数组操作: A:遍历 public static void printArray(int[] arr) { for(int x=0; x<arr.length; x++) { System.out.println(arr[x]); } } B:获取最值 public static int getMax(int[] arr) { int max

Java基础【冒泡、选择排序、二分查找】

冒泡排序的思路就是前一个和后一个进行比较,如果大的就交换位置   大的数字后浮 如   12      8    5     31 第一轮   8   5   12   31 第二轮   5   8    12   31 ........ 代码如下 package com.zuoyan.sort; /** * 冒泡排序 * @author Administrator * */ public class BubbloSortDemo { public static void main(String

文件排序及二分查找法与冒泡排序法

char *fputs(char *s, int n, FILE *fp)int fputs(char *s, FILE *fp)fgets正常时返回读取字符串的首地址,出错或文件尾,返回NULL.fputs正常时返回写入的最后一个字符,出错返回EOF. #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include <stdlib.h> #include <time.h> //文件排序 //内存排序 void ma

Java学习 (七)、数组,查找算法,二分查找法,冒泡排序,选择排序,插入排序

一.常用数组查找算法 工作原理:它又称为顺序查找,在一列给定的值中进行搜索,从一端的开始逐一检查每个元素,知道找到所需元素的过程. 例1:查找指定的数在数组中出现的位置,找到返回下标,找不到返回-1 1 import java.util.Scanner; 2 public class LinearSearch{ 3 public static void main(String []argas) 4 { 5 int [] array={10,100,90,65,80,92}; 6 System.o

利用选择排序排序数组,用二分查找法查找

#include <stdio.h> #include <iostream> using namespace std; int main() { int a[] ={1,8,45,12,75,466,25,65,14,56,53}; int t; int length; length =sizeof(a)/sizeof(a[0]); for(int i=0;i<length;i++) { for(int j=i+1;j<length;j++) { if(a[i]>

【C/C++学院】(3)二维数组/二分查找法/指针/模块注射

1.二维数组 二维数组可以当做一个一维数组, 每一个元素又是一个一维数组. #include <stdio.h> #include <stdlib.h> void main() { int a[3][4] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 }; for (int i = 0; i < 3; i++) { for (int j = 0; j < 4; j++) { printf("%d,%d,%d,%x,%x &

[c/c++] programming之路(15)、多维数组和二分查找法,小外挂

一.多维数组 1 #include<stdio.h> 2 #include<stdlib.h> 3 4 void main(){ 5 int num[3][4]; 6 int i,j; 7 for (i = 0; i < 3; i++) 8 { 9 for (j = 0; j < 4; j++) 10 { 11 num[i][j]=4*i+j+1; 12 printf("%-3d",num[i][j]); 13 } 14 printf("\