首页 > 技术文章 > 第四次博客作业

zcybky 2018-12-21 17:49 原文

作业要求【https://edu.cnblogs.com/campus/hljkj/CS201801/homework/2523

我观看了7个大视频。通过观看视频我学习到了怎样定义数组,和怎样去使用数组,如何遍历一个数组,如何遍历一个二维数组,怎样在数组中寻找一个你想要的值看是否存在,怎样进行逆序或者从大到小从小到大排序。有问题的是二维数组不太能理解,虽然能定义出来二维数组,但是用起来不是很熟练,全部将数组定义为0这个也很难证明白,老师说过需要for遍历一下,但是一个大括号0就可以实现数组全部定义为0,这个方法到底实用与否我很难说,不知道是正确的还是错误的。

第13次作业 

题目 7-2 输出所有大于平均值的数

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

 解题思路

第一步:首先定义一个数组和一些变量

第二步:将输入得数按顺序依次存入到数组中

第三步:将数组中存进去的数进行相加并取平均

第四步:将数组中的数字从头到尾依次和平均数进行比较,并将比平均数大的数字输出

第五步:最后输出平均数和比平均数大的数

流程图

 

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

起初程序运行结果是正确的

 

调试截图

 

但是当count==1的时候,他是没办法输出回车的,程序过不去,于是我修改了程序,加上count==1的条件

运行结果截图

个人总结

这周我学习到了二维数组,二维数组需要用到两个for循环去遍历,适用于存很多字符串类型的题目,但是定义使用并不那么熟练,我多次找题目去联系,希望可以解决二维数组的使用困难。数组定义也有一些疑问,全部定义为0是一定要用for循环还是只需要大括号0就可以。mooc网上是说大括号0就可以,但是老师说过需要遍历。

 第十四次作业 题目 7-2 求最大值及其下标

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

 解题思路

第一步:先定义一个数组a和t,k,i,number

第二步:输入你要输入的数值给number,表示你要输入几个数

第三步:用for循环来将你所输入的数按顺序交给数组a

第四步:令最大值即t为数组第一个数,并进行循环判断,如果后一个数大于这个最大值,那么将这个数赋值给最大值,将这个数的在数组中的下标交给k保存

第五步:输出最大值及其下标

流程图

 

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

运行也是正确的

调试也是正确的

但是pta无法过去,后来我发现,如果最大值不设数组第一个的话,很有可能循环结束出来的最大值不是数组中的数。

程序修改后截图

 

程序调试截图

 

程序运行截图

 

个人总结

这周我学习到了指针,并且明白了指针是指向一个地址,数组是指针的特殊形式,而且数组中是如何存入数字的,他存入的是指针,那个指针指向了一个地址中的数,所以将数字存了进去,但是理解还是不熟练,我需要多看mooc去理解。

互评和学习进度

 

点评博客【https://www.cnblogs.com/1a2B3c4D/p/10160490.html

    【https://www.cnblogs.com/error203/p/10160025.html

    【https://www.cnblogs.com/abcefg123/p/10161739.html

 

推荐阅读