zoukankan      html  css  js  c++  java
  • 第四次作业

    预习作业、

    一、https://edu.cnblogs.com/campus/hljkj/CS201802/homework/2522

    二、查找整数

    1、实验代码

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

     2、实验思路

    先输入字符个数n,再输入要查找的数字,然后输入n个数字运行程序,如果有要查找的数字,就输出他在第几位减去1,如果没有就输出

    Not Found。
    流程图

    3、错误调试

    试了一下,发现虽然程序可以运行,但是结果是错的,如图:正确结果应改为4,但输出Not Found

    
    

    研究后发现原来没有加break跳出循环,所以导致结果错误,对break还没有熟练运用

    三、求最大值及其下标

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

      2、实验流程

    利用for循环定义数组a[i],利用for循环及if-else语句判断a[i]和a[index]的大小情况,若a[i]>a[index],则将i赋值给index,然后输出最大值a[index],及其下标index。

    流程图、

    3、错误调试

    在之前的代码过程中,编译时没有错误,但运行时却怎么都不开始,错误的根源在定义数组a【N】,在输入N的值之前,会与N一起造成定义的混乱,我觉得是这样,就把两句调换了位置然后就正确了。但是为什么正确代码就没有这种矛盾呢?希望有大神能给我更详细的解答。

    四、个人总结

    通过本周的学习我发现,数组还是对我来说有难度的,尤其是有时候for循环里的条件搞不清应该在循环内还是循环外,以前的break也总想不起来,想起来了也不知道应该在哪里用。

    排序刚开始总是赋错值,长时间不联系也会记错顺序,但还是相对简单的。

    冒泡排序还是非常难的,而且非常繁琐,对也不爱预习的我来说,上课一直在半懂不懂中度过。很煎熬,以后一定要勤加预习。

    博客链接

    https://www.cnblogs.com/chen0803/p/10166956.html

  • 相关阅读:
    2019春第三次课程设计实验报告
    2019 春第二次课程设计实验报告
    2019 春第一次课程设计实验报告
    第十二周作业
    第十一周作业
    第十周作业
    IDEA部署好WEB项目调用servlet时报错404
    软件工程作业02
    软件工程作业01
    Java实验报告六
  • 原文地址:https://www.cnblogs.com/sevenG/p/10176189.html
Copyright © 2011-2022 走看看