第4次作业

作业要求(请点击!!)

MOOC预习

学习了四节课。



学习了数组的初始化。

以及使用a[number]=0来重置数组。
以及如何获取数组的单元个数。

当想将一个数组赋值给另一个数组的时候,直接赋值是错误的,应该写入一个循环即遍历。

以及二维数组的基础部分



老师讲的通俗易懂,外加还没有听到难点,所以学习的部分都听懂了。

7-1 输出数组元素
1.实验代码

#include<stdio.h>
int main()
{
  int a[10],n=0,i=0,h=0,j=0,item[10];
  scanf("%d",&n);
  for(i=0;i<n;i++)
  {
    scanf("%d",&a[i]);
  }
  for(j=0;j<n;j++){
    item[j]=a[1+h]-a[h];
    h++;}
    h=0;
    
  for(j=0;j<n-1;j++){
    if(j==0){
    printf("%d",item[0]);
  }
  else if(h==3){
    printf("\n");
    printf("%d",item[j]);
    h=0;
  }
  else {
  printf(" %d",item[j]);}
  h++;}
  return 0;
}

<font size=4 face=“微软雅黑">2.设计思路
第一步:建立数组,包括十个数据。
第二步:用for循环将用户输入的每个数据输入到数组当中去。
第三步:用另一个数组item[10]保存此数组a[10]前后相减得到的数据。
第四步:打印b[10]中共十个数据,打印三个后换行。

<font size=3 face=“微软雅黑">流程图:

<font size=4 face=”微软雅黑">3.本题调试过程碰到问题及解决办法

刚开始遇到的问题:

因此我打开Dev C++,开始调试程序:

我发现在item数组中没有成功读取到a[10]数组中相减的数据,原因是item[10]在int里表示10个数据,而在代码里只表示item数组中第十一个数据,因此我修改错误:

修改完成后,运行代码,程序成功运行切没有错误。

7-2 求最大值及其下标
1.实验代码

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

<font size=4 face=“微软雅黑">2.设计思路
第一步:建立数组,包括十个数据。
第二步:设置循环,用if语句求出最大值max以及最小下标。

<font size=3 face=“微软雅黑">流程图:

<font size=4 face=”微软雅黑">3.本题调试过程碰到问题及解决办法

刚开始遇到的问题:

因此我打开Dve进行调试。


我发现在for循环中出现了问题因此我开始修改我的程序,因为没有为max赋值所以导致程序出错,接着修改了程序。

通过询问老师,发现题意是最大值和最小下标,因此修改程序,

答案正确。

<font size=4 face=”微软雅黑">3.个人总结
本周学习了数组知识,包括数组的定义与赋值,排序数组中数据的大小等。;
课堂上老师讲过之后,自己课下写作业与同学讨论后勉强懂得了使用。

<font size=4 face=”微软雅黑">*4,互评和学习进度**


<font size=4 face=”微软雅黑">5.互评
范淳铭
李浩正
谭婉霞

posted @ 2018-12-23 20:39  十魇  阅读(200)  评论(5编辑  收藏  举报
GenerateContentList