第四次作业

作业要求:https://edu.cnblogs.com/campus/hljkj/CS201802/homework/2522

1. 我观看了数组,函数的定义与使用,函数的参数与变量,数组运算。

 

2.我知道了1).数组规定了多少个元素就不能超过这个数,否则就是越界。

     2).储存数组时需要用for循环一个一个输入。

     3).函数调用首先从主函数开始进行,从中跳转到所定义的函数。

3.问题:在运用数组时会出现运用不好的问题,有时还会有越界的问题。

第十六周作业   题目: 7-1 输出数组元素

1.实验代码

 

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

 

2.解题思路

1).定义四个整型变量给出的正整数数量n,和输出的后项减前项的值 j ,以及i和count;输入n后,再定义整型数组a[n];

2).进入第一个循环从i=0开始进行存入数组中的n个数;而后进行第二个循环;

3).这时要注意从i=1开始计算j的值,因为要求是后一项减前一项;count随着循环进行n次加;

4).当count除以三求余等于0时输出空格加j加回车;当count除以三求余等于1时输出j;当count除以三求余等于2时输出空格加j;结束运行。

流程图

 

3.调试过程遇到的问题及其解决方法:

第一个问题:

进行调试:

输入所给案例的数字;直接出现结果:

 

 

 解决办法:发现储存a[i]后如果从i=0开始就会有a[0]-a[-1]会有a[0]的值5出现,所以我将i=0改成了i=1,结果没有直接跳出循环出结果而是一步一步进行循环

 

 

 

结果正确。

 

 题目: 7-2 求最大值及其下标

1.实验代码:

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

2.解题思路

1).先定义5个整数型变量i,输入数组元素的个数n,h,z,count=0,用户输入变量n,再定义数组a[n];

2).进入循环i=0;当i<n时不断输入数组元素a[i],i++,直至i>n.

3).如果n>1且n<=10,则h=a[0],进入循环i=0;当i<n时不断进行循环语句中的条件语句:如果a[i]>h时h=a[i],z=i;否则h=h,count++;直至i>n;

4).跳出循环后如果count等于i输出“h 0”;否则输出“h z”,结束。

流程图

 

3.调试过程遇到的问题及其解决方法:

 

按照所给提示当n=10,数组中所有元素都相等时进行调试:

解决办法:发现并不走count=i这一步而是进行下一步,所以我发现如果a[i]=a[i-1]时在我的程序里没有进行count++;所以count不会等于i;

所以我将a[i]<h改为a[i]=h,结果正确;

 

个人总结:

本周学习内容:学习了数组的定义,数组的储存,选择排序法和冒泡排序法以及我们在储存数组时需要用for循环语句进行一个一个的储存;关于数组越界问题,还有将多个for循环用一个for循环以此减少循环使用。

收获:主要收获是进行数字排列时可以减少for循环的使用,剪短代码的行数以及计算机进行的步骤。

 

表格以及折线图:

 

 

 

 

点评:

https://www.cnblogs.com/cyw1/p/10133891.html

https://www.cnblogs.com/mayijing/p/10158728.html

https://www.cnblogs.com/zst1/p/10133338.html

posted @ 2018-12-19 17:31  计科18-2谭婉霞  阅读(266)  评论(9编辑  收藏  举报