第四次作业

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

预习作业

1.我观看了mooc上关于数组及函数的第六周和第七周视频,共17个。

 

2.通过观看视频我学习到了利用数组求平均数,并输出大于平均数的数;数组定义;以及数组之间的运算等问题。

利用数组求平均数,并输出大于平均数的数

 

数组定义

 

数组之间的运算

 

3.对于mooc中第七周数组运算中的初步排序不太明白,尤其是sizeof(a)/sizeof(a[0])。

后经过上网查找资料,询问了同学后明白了sizeof(a)/sizeof(a[0])的含义。

sizeof(a)/sizeof(a[0]) 求解数组可以存放多少个元素。sizeof(a)是数组总大小,sizeof(a[0])是数组中一个元素的大小。

 

 

第十三次作业(数组):7-2 输出所有大于平均值的数 

1.实验代码

#include<stdio.h>
int main(){
  int n,i;
  double average,sum;
  scanf("%d",&n);
  int a[n];
  if(n<1||n>10){
    printf("Invalid.");
  }
  else{
    sum = 0;
      for(i=0;i<n;i++){
    scanf("%d",&a[i]);
    sum = sum + a[i];
  }
  average = sum / n;
  printf("%.2f",average);
  printf("\n");
  for(i=0;i<n;i++){
  if(a[i]>average){
    printf("%d ",a[i]);
  }
  }
}
printf("\n");
  return 0;
}

2.设计思路

第一步:仔细阅读作业题目要求,输入格式及输出格式。观察输出样例及输入样例的数字间是否存在空格及小数点。

第二步:利用if-else结构判断输入的n是否有效范围内。

第三步:利用for循环,定义数组并求出这些数的相加和。

第四步:求出平均数,利用for循环和if-else结构求出数组中所有大于平均值的数。

第五步:输出结果。

流程图

 

3.本题调试过程碰到问题及解决办法

一开始我的代码是这样的,编译器并没有报错。

但当运行时,输出结果显示错误。

经过查阅教科书上的例题,知道了数组输出时必须要利用循环将其输出,否则结果错误。

经过修改的代码如下。

编译及运行如下。

输入n,进入第一个if-else语句,判断是否1n10。

利用for循环语句计算相加和,并求出平均值。

进入第二个if-else语句,判断数组中的数是否大于平均数,并输出大于平均数的数。

结果正确。

当n输入0时,编译及运行如下。

 

 

 

第十四次作业(数组):7-2 求最大值及其下标

 1.实验代码

#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.本题调试过程

首先输入N的值。

输入数组a[i]中的数值。

利用for循环和if-else语句判断a[i]与a[index]的大小关系。

输出a[index]及index的值,即最大值及下标。

结果正确。

 

4.个人总结

(1)在这次的学习当中,我们学习到了关于数组的知识点,其中包含输出数组,交换数值,选择法排序等问题。数组对于我们来说非常重要,尤其是选择法排序问题。另外我们应注意定义一个数组或者输出一个数组时,应利用循环(例如for循环)来定义或输出,否则输出结果会出现乱码等问题,这个是我们必须要重视的问题。

(2)在这次的学习当中,我认为冒泡法排序这个知识点比较困难,因为它对于我们来说太过于繁琐。这需要我们不断练习的同时,多和同学一起交流,相互学习。必要时可以在网络上查找资料,例如听网课,看博客,对于我们的学习会有很大的帮助。

 

5.表格及折线图

表格

 

折线图

 

 

6.作业点评

1.https://www.cnblogs.com/wafx/p/10157289.html

2.https://www.cnblogs.com/errumuran/p/10152845.html

3.https://www.cnblogs.com/kaitbkleyue/p/10164062.html

posted @ 2018-12-24 17:45  晚笙  阅读(234)  评论(8编辑  收藏  举报