代码改变世界

第4次随笔

2018-12-25 20:48  张子峰  阅读(304)  评论(3编辑  收藏  举报

 

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

通过观看视频我学习到了如何定义数组,如何去使用数组,如何编译一个数组,如何编译一个二维数组,如何在数组中寻找一个数的值是否存在,如何进行排序。通过观看老师给的视频我们对新课程有了一些了解,并且让我们对新课程有不少兴趣。有问题的是二维数组不怎么理解,虽然可以定义出来二维数组,但用起来很不熟练。

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

 

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

 

解题思路:

1.首先定义四个整形变量a,b,c,i,输入数组内存放的数的个数。

2.输入的个数在定义一个数组e [a]。

3.进行一个执行a次循环体,将每个数都输入到定义的数组e中。

4.在确定一个数e[0]从0开始,在进行a-1次的循环体,把第一个数字和e[0]比较确定大小关系。

5.如果大于,把这个数输入到b中再继续进行循环,如果不大于,继续循环。

6.在将数值定义给b的同时把这个数在数组里的第几个位置定义给c。

7.最后输出b和c。

 流程图:

 

 

 

个人总结:

要在数组定义前,把数组的个数定义出来,以防数组多出其他数,出现产生乱码的状况,使后期在循环计算中出现多余数的现象。在写循环的时候一定不能嫌麻烦,要认真写。不认真可能导致程序出现混乱的状况。

题目 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;
  }

解题思路:

1、定义三个整型变量i,a[10],count;定义两个浮点型变量sum,average.

2、先由if-else语句判断输入的数是否符合,符合进入for循环,对a[i]连续赋值,反之输出"Invauld"

3、通过for循环计算出sum和average的值。

4、将符合的值输出,若没有则输出空格。

流程图

个人总结

这周学习到了二维数组,二维数组需要用到两个for循环去编译,但是定义使用并不熟练,数组定义也有一些疑问,全部定义为0时要用for循环还是只用大括号0。

 

 

 

https://www.cnblogs.com/1banwangkang/p/10171222.html

https://www.cnblogs.com/wu1263344154/p/10171473.html

https://www.cnblogs.com/zcybky/p/10152047.html