第四次作业

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

一、MOOC数组部分预习知识点

下面是我所看过的MOOC上数组的课程章节

 

这周我们学习了数组,在老师进行讲解之前,我便有计划的预习了一下数组的知识,当然也碰到了一些自己没有理解的问题。

我们在之前讲循环的时候,就碰到过这样的问题,比如如何写一个程序用来计算用户输入的数字的平均数

当时讲的时候,我一开始就想要多设下几个变量,然后在进行接下来的计算,但是后来老师讲的时候,特意说明了这个问题,如果说当给出的数十分大的时候,那么就会需要很多的变量来储存数字,这样下来就会很麻烦。所以老师教给了我们一种简单的方法。太多的问题就不在这里继续说下去了。

 

 

二、、pta作业

一)

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

实验代码

#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)解题思路

1.先定义一个数组,利用for循环进行数组内的数值的赋值

2.之后进行对所输入的数值进行加和然后求出平均值

3.计算出平均值后,再次利用for循环来进行比较

4.输出平均值,以及比平均值大的数

3)流程图

4)调试过程

 

此时输出的是刚刚输入的数值的总和

输出刚刚所求的平均值

此时会进行循环,来判断所输入的数值中是否有大于平均值的数。如果有大于平均数的数值就进行输出。

输出数值与答案一致,调试结束。

二)

1)7-2 求最大值及其下标 (20 分)

1)实验代码

#include <stdio.h>
int main(){
  int n,i,j;
  int a[10];
  scanf("%d",&n);
  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;
      }
      if(a[0]==a[j]){
        a[0]=a[j];
        if(i>j){
          i=j;
        }
      }
    }
    printf("%d %d",a[i],i);
  return 0;
}

2)解题思路

与上一题相同,首先还是设置变量、数组,

先定义n,利用for循环输入n个数值,

利用for循环比较各个数值的大小,同时记录记录下最大值及其下标,

打印出最大值,以及最大值的下标。

3)流程图

4)调试过程

 

 

输入数值后进行循环判断

此时进行的循环是在进行比较输入的各个数值的大小

输出结果与所给例题结果无误,结束调试

三、个人总结

本周我学习到了很多的关于数组的知识,也学习了冒泡排序法,自己回去后也对自己不懂的地方进行了训练,现在大致都能够完成,希望以后我能够越来越好。

四、学习进度

表格

折线图

互相评论的同学作业网址:马世豪:https://www.cnblogs.com/mashihao/p/10164515.html

            李文涛:https://www.cnblogs.com/errumuran/p/10152845.html

            张文武:https://www.cnblogs.com/kaitbkleyue/p/10164062.html

posted on 2018-12-25 21:44  宋博文  阅读(228)  评论(8编辑  收藏  举报