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

    预习作业:

    1.本次共观看三小节的慕课。

    观看进度截图:

    2.数组运算中这一节中主要讲了以下知识点(第一二张截图),同时还有搜索部分

    的知识点(第三张截图)。

    3.课程内容易懂,语言简洁扼要,非常适合我们初学者学习。

    博客链接:https://edu.cnblogs.com/campus/hljkj/CS201802/homework/2522

    
    
    第十三次作业:
    输出数组元素 
    
    

    本题要求编写程序,对顺序读入的n个整数,顺次计算后项减前项之差,并按每行三个元素的格式输出结果。

    输入格式:

    输入的第一行给出正整数n(1<n10)。随后一行给出n个整数,其间以空格分隔。

    输出格式:

    顺次计算后项减前项之差,并按每行三个元素的格式输出结果。数字间空一格,行末不得有多余空格。

    输入样例:

    10
    5 1 7 14 6 36 4 28 50 100
    

    输出样例:

    -4 6 7
    -8 30 -32
    24 22 50

    实验代码:

     

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

    解题思路:

    第一步:设置变量i,j,n,count和数组a[10]。

    第二步:输入十个量到数组a[i]中,再定义一组数组a[j],a[j]=a[i]-a[i-1]

    第三步:在循环变量中设置count=0,当count=3时,输出“ ”分行,后输出数值,再将count赋值为0;若j=0,就直接输出该数值,其余的先输出一个空格,再输出数值。

    流程图:

    错误及调试:

    调试:

     

     

    出现错误:

    忘记了“每行三个元素的格式输出结果”的条件。

    解决方式:

    在if循环中插入以下代码

    else if(count==3){  

      printf(" ");

      printf("%d",a[j]);

      count=0;

    }

    第十四次作业:

    求最大值及其下标

    本题要求编写程序,找出给定的n个数中的最大值及其对应的最小下标(下标从0开始)。

    输入格式:

    输入在第一行中给出一个正整数n(1<n10)。第二行输入n个整数,用空格分开。

    输出格式:

    在一行中输出最大值及最大值的最小下标,中间用一个空格分开。

    输入样例:

    6
    2 8 10 1 9 10
    

    输出样例:

    10 2
    查找整数 (10 分)实验代码 :
    #include <stdio.h>
    int main()
    {
      int n,i,j;
      scanf("%d",&n);
      int a[11];
      for(i=0;i<n;i++)
        scanf("%d",&a[i]);
      for(j=0;j<n;j++)
        {
          if(a[0]<a[j])
            {
            a[0]=a[j];
            i=j;
           }
          else if(a[0]==a[j])
             {
            a[0]=a[j];
            if(i>j)
                  {
                i=j;
               }
            }
      }
      printf("%d %d",a[0],i);
      }

    解题思路:

    第一步:定义变量n,i,j。

    第二步:给n输入值。

    第三步:定义数组a[n]。通过for循环给a[n]输入n个值。

    第四步:最后利用for循环和if、else判断得出下标i。

    流程图:

    错误及调试:

    调试:

    结果与题目相符,本次编写正确。

    个人总结:

    本次学习了C语言的数组部分,数组部分的学习更加方便了编写,可以一次输入多个值减少重复语句的使用。

     第十四次作业中的7-4数字加密和7-5将数组中的数逆序存放个人感觉有难度。

    我通过和同学讨论交流以及一起编写,明白了这两个题的做法。

    https://www.cnblogs.com/asdfghjklasdfghjkl/p/10127728.html

    https://www.cnblogs.com/abcdsjjs/p/10170665.html

    https://www.cnblogs.com/1017547133jyj/p/10165434.html

     

  • 相关阅读:
    java线程池,工作窃取算法
    java线程池,阿里为什么不允许使用Executors?
    CMakeLists 的使用,大型工程使用cmake 的构件过程
    ieee文献免费下载办法
    欧式距离、标准化欧式距离、马氏距离、余弦距离
    sliding window:"Marginalization","Schur complement","First estimate jacobin"
    机器学习中的线性代数之矩阵求导
    opencv中滤波方法学习
    opencv关于Mat类中的Scalar()---颜色赋值
    C/C++预处理指令#define,#ifdef,#ifndef,#endif…
  • 原文地址:https://www.cnblogs.com/CuiXinrui/p/10139991.html
Copyright © 2011-2022 走看看