• 第14、15周作业


    要求一:题目已完成。
    要求二
    求最大值及其下标
    一、实验代码

    # 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,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.
    解决方法:将上述的问题都改正后,在编译器上编译运行,结果正确后,提交就可以了。
    将数组中的数逆序存放
    一、实验代码

    #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.输出新的数组。
    三、程序框图

    四、遇到的问题及解决方法
    本题未遇到问题
    要求三
    git:https://git.coding.net/zgq459947/EDG.git
    要求四
    总结
    学习了数组,感觉不是特熟练,课后多练练,直到熟练。
    作业互评
    1 丰大为http://www.cnblogs.com/DavidPark/p/7955168.html
    2 班庆泽http://www.cnblogs.com/wsbqz/p/7965666.html
    3 杨志群http://www.cnblogs.com/12138-/p/7955161.html
    2 学习进度与折线图

  • 相关阅读:
    6.1(续)索引、索引组织表--Oracle模式对象
    Docker容器中用户权限管理
    setfacl、getfacl
    Premiere常见配置优化
    SSH代理
    给U盘分区
    IO模型
    window 系统各个版本 ie浏览器 默认版本 bootstrap ie版本兼容
    代码多版本处理及自动化打包部署流程
    vue3 watch 监听数组 对象
  • 原文地址:https://www.cnblogs.com/zgq947/p/7966299.html
Copyright © 2020-2023  润新知