我的第4篇博客

 

我的第4篇博客

作业要求:Click Here

一、预习作业

在预习作业中,我在中国大学MOOC上观看了浙江大学翁恺老师关于数组的几个视频。

 

在预习作业中,我学到了在学校课堂上没有学到的二维数组矩阵的定义与遍历;在数组的计算一章中,还学到了关于数组排列的一些知识。

通过在网上的学习,能够进一步对自己在课上学到的东西进行补充,还学到了一些在课堂上没有学到的东西。在今后的学习中,我会好好利用网上的一些视频资源,在课余时间观看其余的视频。达到学以致用的目的。

 

二、PTA作业

 4.1 题目7-4 数字加密

【实验代码】

int main(){
  system("title ENCRYPT");
  
  int a[4];
  int i;
  int b[i];
  
  int number;
  int time=10;
  
  scanf("%d",&number);
  
  for(i=0;i<=3;i++){
    a[3-i]=number%time;
    number = number / time;
  }
  
  
  
  for(i=0;i<4;i++){
    a[i]=a[i]+9;
    a[i]=a[i]%10;
    b[i]=a[i];
  }
  a[0]=b[2];
  a[2]=b[0];
  a[1]=b[3];
  a[3]=b[1];
  
  printf("The encrypted number is %d%d%d%d",a[0],a[1],a[2],a[3]);
  
  return 0;
  
}

【解题思路】

1.定义两个一维数组,用来分别存放排序前与位数互换前后的数列;

2.定义整型变量,用来存放输入值;

3.通过运算将输入值的每一位数储存在数组a中;

4.进行第一步加密:原数加上9并且除以10取余数;

5.进行第二步加密:将1、3两位数交换,将2、4两位数交换并存在数组b中;

6.按照题目所给的格式输出结果。

【运行结果】

【错误解决】

错误代码:

  for(i=0;i<=3;i++){
    a[4-i]=number%time;
    number = number / time;
  }
  
  
  
  for(i=1;i<4;i++){
    a[i]=a[i]+9;
    a[i]=a[i]%10;
    b[i]=a[i];
  }
  a[1]=b[3];
  a[3]=b[1];
  a[2]=b[4];
  a[4]=b[2];
  
  printf("The encrypted number is %d%d%d%d",a[1],a[2],a[3],a[4]);
  
  return 0;

 

由于在C语言中刚刚接触数组,对数组不够熟悉,导致了调用数组中元素出现问题:在数组中,第一个元素用a[0]表示而不是a[1]表示,在遍历数组的时候,统计次数的变量i也应该从0开始,循环4次。

 

4.2 题目7-5:将数组中的数逆序存放

【实验代码】

int main(){
  system("title PAIXU");
  int n;
  scanf("%d",&n);
  int a[n];
  int b[n];
  int i;
  
  for(i=0;i<n;i++){
    scanf("%d",&a[i]);
  }
  
  for(i=1;i<=n;i++){
    b[n-i]=a[i-1];
  }
  
  for(i=0;i<n-1;i++){
    printf("%d ",b[i]);
  }
  printf("%d",b[n-1]);
 
  return 0;
}

【解题思路】

1.定义两个数组分别存放排序前后的元素;

2.在a数组中输入原数列;

3.遍历数组中的每一项,将a数组的第一项存入b数组的最后一项;

4.由于行末不允许出现多余空格,分别输出前n-1项加上一个空格,最后输出最后一项。

【运行结果】

三、我的学习收获

 这段时间,在C语言课程中,我学会了如何自定义函数并且对自定义函数进行调用;还学会了一维数组和二维数组的基本概念以及数组的使用方法。

 

作业互评:

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

2.https://www.cnblogs.com/wengjx123/p/10126047.html

3.https://www.cnblogs.com/freedomjdp/p/10115746.html

 

posted @ 2018-12-25 19:56  WeiYukds  阅读(158)  评论(1编辑  收藏  举报