zoukankan      html  css  js  c++  java
  • 第14、15教学周作业

    要求二

    7-1 求最大值及其下标

    一,实验代码

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

    二,设计思路

    1.根据题意定义变量,分别是整型变量i(下标),n(数组长度),j,max(最大值),a[10](数组);

    2.理解题意,本题需要循环和判断两种结构,然后确定循环体和判断条件,例如:判断条件:max<a[i]),

     循环体: for(i=0; i<n;i++)
      {
      scanf("%d", &a[i]);
      }

    3.先输入一个值,确定数组长度,然后输入几个数,在进行判断,即与最大值进行比较,最后进行循环,遍历数组找到最大值;

    4.输出最大值及其下标。

    三,程序框图

    四,遇到的问题及解决方法

    遇到的问题:编译没有错误,提交时总是提示答案错误,截图如下:

    解决方法:先将错误提示翻译成汉语,然后再编译器上单步调试,再对比其他同学的答案,发现应将i=1,写成 i=0,改过来就对了。

    五,运行结果图

     

    六,提交列表

    7-3 将数组中的数逆序存放

    一,实验代码

    #include <stdio.h>
    int main()
    {
        int i, n, swap, array[10];
        scanf("%d", &n);
        for (i = 0; i < n; i++)
            scanf("%d", &array[i]);
        for (i = 0; i < n/2; i++)
        {
            swap = array[i];
            array[i] = array[n-1-i];
            array[n-1-i] = swap;
        }
        for (i = 0; i < n-1; i++)
            printf("%d ", array[i]);
        printf("%d
    ", array[n-1]);
        return 0;
    }
    

    二,设计思路

    1.根据题意定义变量,分别是整型变量:i,n(数组长度),swap(中间变量),array[10](数组),

    2.理解题意,本题需要用到循环结构,确定循环体,即数组中的数逆序存放的代码:

     for (i = 0; i < n/2; i++)
        {
            swap = array[i];
            array[i] = array[n-1-i];
            array[n-1-i] = swap;
        }

    3.输入数字,确定数组长度,再输入几个数,确定数组长度,数组首尾位置的数互换,以此类推‘

    4.输出新的数组。

    三,程序框图

    四,遇到的问题及解决方法

    遇到的问题同上,错误截图如下:

    解决方法:单步调试,发现循环体的确定有误,后又上网查找,改成

    for (i = 0; i < n/2; i++)
        {
            swap = array[i];
            array[i] = array[n-1-i];
            array[n-1-i] = swap;
        }

    就对了。

    五,运行结果图

    六,提交列表

     

    附加题:

    7-3 求整数序列中出现次数最多的数

    一,实验代码

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

      

     

    二,设计思路

    1.根据题意定义变量,分别是整型变量i,j,n(定义数组长度),max(出现最多的次数),x(下标),a[i](数组),b[i](数组);

    2.理解题意,本题需用循环,判断两种结构,并确定循环体和判断条件,例如:循环体:

    for(i=0;i<n;i++)
    {
    b[i]=0;
    for(j=0;j<n;j++)
    if(a[i]==a[j])
    b[i]++;
    };

    判断条件:max>b[i];

    3.先输入一个数,确定数组长度,在输入几个数,即数组中的数,然后遍历数组,找到出现最多的数;

    4.输出结果。

    三,程序框图

    四,遇到的问题及解决方法

    问题截图如下:

    问题原因:第一个for中,i=1.

    问题原因:最后一个for循环中max>b[i].

    解决方法:将上述的问题都改正后,在编译器上编译运行,结果正确后,提交就可以了。

    五,运行结果图

    六,提交列表

    要求三

    上传文件截图

    GIT地址:https://git.coding.net/Hunjunxian/juhao.git

    要求四

    个人总结

    1.学习了一维数组的定义,初始化,及一些经典的例子,如选择排序法,冒泡排序法等。

    2.学习了二维数组的定义,赋初值,以及一些实例,如求矩阵每一行的和,求下三角,对角线两侧数据交换等。

    3.收获:对数组有了更深入地了解,也学会了用程序坚决一些简单的问题,如求数组中的最大值及其下标。

    4.难点:我认为对数组中的数进行排序是一个难点,尤其是冒泡排序法,不是很好理解,而且也不能很好的区分选择排序法和冒泡排序法。

    5.对于难点问题,课下需要多看,多练习,个人认为若实在理解不了也可以直接背下来,以后也可以直接拿来用。

    要求五

    互评和学习进度

    1.我评价的博客:

    何宗彦:http://www.cnblogs.com/hezongyan/

    陈雨秋:http://www.cnblogs.com/cyq66992152/

    姚爽:http://www.cnblogs.com/yaoshuang/

    2.学习进度条

    日期 代码行数 时间1 博客字数 时间2 知识点
    2017.12.2 230 约5hours 约400 1.5hours 数组的相关内容

     3.折线图

  • 相关阅读:
    中国石油昆仑加油卡
    157 01 Android 零基础入门 03 Java常用工具类01 Java异常 01 异常介绍 02 异常内容简介
    156 01 Android 零基础入门 03 Java常用工具类01 Java异常 01 异常介绍 01 Java常用工具类简介
    155 01 Android 零基础入门 02 Java面向对象 07 Java多态 07 多态知识总结 01 多态总结
    154 01 Android 零基础入门 02 Java面向对象 07 Java多态 06 内部类 05 匿名内部类
    153 01 Android 零基础入门 02 Java面向对象 07 Java多态 06 内部类 04 方法内部类
    152 01 Android 零基础入门 02 Java面向对象 07 Java多态 06 内部类 03 静态内部类
    151 01 Android 零基础入门 02 Java面向对象 07 Java多态 06 内部类 02 成员内部类
    150 01 Android 零基础入门 02 Java面向对象 07 Java多态 06 内部类概述 01 内部类概述
    149 01 Android 零基础入门 02 Java面向对象 07 Java多态 05 接口(重点)07 接口的继承
  • 原文地址:https://www.cnblogs.com/123456hjx/p/7906539.html
Copyright © 2011-2022 走看看