zoukankan      html  css  js  c++  java
  • C博客作业04--数组

    这个作业属于哪个班级 C语言--网络2011/2012
    这个作业的地址 C博客作业04--数组
    这个作业的目标 学习数组相关内容
    姓名 崔天赐

    0. PTA总分


    1. 本章学习总结

    1.1 学习内容总结

    • 数组中如何查找数据,有哪些做法

      用循环让数组的下标逐个变化,再一一进行对比,判断出要寻找的数。
      将要找的数放在一个数组中,再在另一个数组中循环输入被查找的数组。
    • 数组中如何插入数据,怎么做,可以写个伪代码或动态图展示方法

      找到插入位置
      记录该位置
      for循环将该位置及以后的数组向后移动一个位置
      将插入数据输入标记位置
    • 数组中如何删除数据

      1.针对数组位置:构建一个新数组保存需要删除的位置;保存后再一一对应的位置上一次次左移。
      例如pta数组7.9

      2 .针对数组元素:可以构建哈希数组,对哈希数组上的值赋0或1;再根据判断进行输出。
      例如pta字符数组7.3
    • 数组中目前学到排序方法,主要思路

      冒泡排序法:以从大到小为例,将第一个数与第二个数对比,若第一个数比第二个数大,进行一次调换再将第二个和第三个数对比,若第二个数比第三个数大,再进行调换,以此类推,则第一轮结束后可得到最大的最后一位数,再经一轮得到第二大的倒数第二位数,以此类推,完成排序。
    • 数组做枚举用法,有哪些案例

      数组赋值
      int array[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
    • 哈希数组用法,目前学过哪些案例

      1.定义一个辅助数组,用时间换空间
      2.定义一个辅助数组hash[?],下标为目标数组的元素(如果目标数组是字符数组,需减去‘ ’转换成特定的整型数字),辅助数组初值为0;
      3.若hash[N]等于0,说明仅有一个,无重复。
    • 字符数组、字符串特点及编程注意事项

      1.字符串常量就是用一对双引号括起来的额字符序列,即一串字符,结束标识符为''。
      2.字符串由有效字符和字符串结束符''组成。
      3.字符数组的初始化
    static char s[6]={'H','a','p','p','y',''};
    or
    static char s[6]={"Happy"};
    or
    static char s[6]="Happy";
    

    2. PTA实验作业

    2.1 有重复的数据

    2.1.1 伪代码

    static int b[100001];                       //用静态变量static将数组b初始化为0
    for (i = 0; i < n; i++){                 
    		scanf("%d", &a[i]);         //输入a[n]    
    	b[a[i]]++;                          //统计每个数字出现过的次数
    	if (b[a[i]] > 1){                   //出现次数大于1的为重复数据
    	 printf("YES");
    	 break;
        }
    

    2.1.2 代码截图

    2.2 找鞍点

    2.2.1 伪代码

    定义数组和max数组
    for
         if (a[i][j] >= a[i][maxi]) //判断行最大数并记录位置到max数组中
                {
                    maxi = j;
                } 
          max[i] = maxi;
    end for
    for
          //判断上述已经是行最大数的数是否为列最大数
          if(不是) break//跳出循环
          if (是)  printf("%d %d
    ", j, max[j]);//输出鞍点位置,并结束程序
    end for
    输出无鞍点
    

    2.2.2 代码截图


    2..2.3 和超星视频做法区别,各自优缺点。

    稍微借鉴了超星视频的做法,思路一致,不同的是视频运用了分装函数的办法让整个过程更加清晰明了

    2.3 切分表达式

    2.3.1 伪代码

    if str[i]是'('或')'或'*'或'/'
        找到token  换行输出str[i]
    if str[i]是数字或小数点
       if后一位是数字或小数点
            输出数字不换行
        else
            输出数字,数字token结束。输出换行
    if str[i]是'+'或'-'
       if  i==0 或 前一位是'('
             str[i]是正负符号,输出不换行
         else 
    是token  换行输出str[i]
    

    2.3.2 代码截图

  • 相关阅读:
    HTTP协议
    从Iterator到async/await
    那些年曾谈起的跨域
    设计模式之观察者模式与发布订阅模式
    移动Web深度剖析
    浅析JavaScript异步
    mySql入门-(二)
    C# WEB项目MVC框架原理及约定
    Dynamics CRM 邮箱设置 “允许使用凭据进行电子邮件处理” 被禁用的解决
    Win10系统恢复IE 11浏览器
  • 原文地址:https://www.cnblogs.com/cuitianci/p/14130416.html
Copyright © 2011-2022 走看看