第四次作业

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

我观看了mooc上第七周关于数组的课程。

首先,了解并学到了关于数组定义的内容,掌握了关于数组定义的多种方法。

 然后了解到了存放元素的另一种方法,就是运用sizeof的含义

刚看完视频我对sizeof还是没有很清晰的认识,所以我就上网查了一下关于sizeof的用法介绍。

这样我就对sizeof有了很深刻的了解并且可以很好的掌握了。

第一题:

#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;
}

第一步:定义变量第一行中要求输入的变量n,平均值average,总和sum和数组a[ ]。

第二步:通过if-else语句,判断是否在条件内进行循环。

第三步:条件内,通过for循环进行计算,得出结果。

第四步:输出结果。

流程图如下:

  刚开始显示的答案错误,并没有按照要求进行输出。

 将sum= 0 写入循环外,输出结果就正确了。

调试结果如下:

 

 

第二题:

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

第一步:设出第一行要输入的正整数n与数组a[ ],t1,t2。

第二步:利用for循环求出最大值以及下角标。

第三步:输出结果。

 根据老师上课讲的课本上的事例,我分析到了这道题需要注意的关键点,即求最大值的地方,所以根据老师讲的我做出了这道题,但是很模糊,所以我把它整理上来了。

结果正确。

通过了这周的学习,我掌握也学会了数组,也会运用数组求最大值最小值及其下角标了,其中夹杂的for循环也能清楚的处理掉,但是仍然需要不断地练习巩固知识。

 

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

   https://www.cnblogs.com/DX552ZYM557/p/10145443.html

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

 

posted @ 2018-12-25 18:56  时硕童  阅读(192)  评论(7编辑  收藏  举报