• 第四次作业


    作业要求:https://edu.cnblogs.com/campus/hljkj/CS201801/homework/2523

     预习作业

    1.在中国大学mooc上我看了七个视频

    2.通过观看视频,我学习到了怎么去定义一个数组,和数组的简单使用,也会用数组解决一些简单的问题,如,通过数组找到在一行数字中指定的数,还有如何使一行数字进行逆序,还有使一行数字从小到大排序或者从大到小排序,知道了两种排序方法,同时学了最基础的二位数组的知识。

    3.在数组的学习过程中,对于二维数组更进一步的应用,还有冒泡排序还有一些疑惑,二维数组虽然会去定义,但是用起来还是很不流畅,而冒泡排序中对于内外两层for循环的关系还是没有搞得太懂,用起来出现的错误比较多。

    第14次作业(数组)
    题目7-2 求最大值及其下标

    1.实验代码

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

    2.解题思路
    (1)

    第一步:先定义三个整型变量,循环用的i,输入数的个数n,最大值的下标max,并初始化为0;

    第二步:再定义一个有n个数的数组;

    第三步:接着进入循环,并输入需要比较的数,循环n次,每次循环都比较此时a[i]与a[max]大小,如果大于,就把此时的下                标i的值给max,使a[max]的值保持最大;

    第四步:循环结束输出最大值和最大值的下标值max的值。

    (2)流程图

    3.本题调试过程碰到问题及解决办法:

     运行结果截图:

     

    调试截图

    遇到的问题及解决方法:

     在最开始的时候,我没有输入n的值就定义a[n],在de-c++上运行时发现,程序出现了错误,但我一行一行看还是没感觉有什么错误,不过当我调试时,在定义a[n]那里出现了错误,最后我先输入n的值,再去定义a[n],解决了这个错误。

    个人总结: 

    通过本周的学习我知道了最基本的数组的知识,知道可以在对数组定义时就对数组元素赋初始值,知道数组如果没有初始化,系统自动为所有元素赋0;虽然老师没讲二维数组,但通过中国大学mooc和书本上的内容,学习了简单的二维数组的知识,同时也学会通过数组的知识,为一些数字进行排序,学会了两种排序法。

     第13次作业(数组)

     题目7-3 查找整数

     1.实验代码 

     
    #include<stdio.h>
    int main()
    {
        int  i=0,n=0,x=0,flag=2;
        scanf("%d %d",&n,&x);
        int a[n];
        for(;i<n;i++)
        {
            scanf("%d",&a[i]);
        }
        for(i=0;i<n;i++)
        {
            if(x==a[i]){
                flag=i;
                break;
            }
        }
        if(flag!=100){
            printf("%d",flag);
        }
        else{
            printf("Not Found");
        }
        return 0;
    }

    2.解题思路:

    (1)

    第一步:先定义四个整形变量,i(循环所用),n(输入数字的个数),x(要查找的数),flag(x的位置),再定义数组a[n];

    第二步:通过第一个for循环,输入n个数字;

    第三步:再用一个for循环,使i从0开始增加,并且每一次循环都判断a[i]是否等于要找的数x,如果是的话,就把i的值赋给flag,并弹出循环;

    第四步:最后判断flag是否等于100,是的话输出Not Found,不是就输出x的位置。

    (2)流程图:

     

    3.本题调试过程碰到问题及解决办法:

     运行结果截图:

     调试截图

     

    个人总结:

    (1) 

    通过本周的学习,我学会了简单的数组的应用,有找出最小值和最小值的下标等问题,也有为一行数排序的问题,在解题的过程中,我也学会两种有用的方法,选择排序法和冒泡排序,这两种方法对于现在的我来说,还是非常简便的方法,同时也学习了字符串转换为整数的方法,会了二维数组的简单应用。

     (2)

     在我看来,理解选择排序法和冒泡排序之间的差别,并且能够根据题目的情况,正确的选择合适的方法来解决这个问题是一个难点,不过,在仔细的观察了这两种方法的程序,并且自己也做了一些相关的题目,加深了对它们的理解之后,最后解决了这个问题。

     互评和学习进度

    互评

     (1)[https://www.cnblogs.com/zcybky/p/10152047.html]

     (2)[https://www.cnblogs.com/wangxiangbo/p/10165493.html]

     (3)[https://www.cnblogs.com/1a2B3c4D/p/10160490.html]

  • 相关阅读:
    POJ 3278 Catch That Cow (附有Runtime Error和Wrong Answer的常见原因)
    POJ 2251 Dungeon Master (三维BFS)
    HDU 1372 Knight moves
    [Ubuntu] <uptime>命令
    【C】哈夫曼编码
    【C++】开辟数组未初始化问题
    免费下载IEEE论文
    随机换装
    BFS解迷宫问题(Go实现)
    DFS解迷宫问题(Go实现)
  • 原文地址:https://www.cnblogs.com/wu1263344154/p/10171473.html
Copyright © 2020-2023  润新知