第14、15教学周作业
要求二:
第14周第一次作业:7-3将数组中的数逆序存放:
1.实验代码:
#include<stdio.h> int main() { int i, n, swap, a[10]; scanf("%d", &n); for (i = 0; i < n; i++) scanf("%d", &a[i]); for (i = 0; i < n/2 ;i++) { swap = a[i]; a[i] =a[n-1-i]; a[n-1-i] = swap; } for (i = 0; i < n-1; i++) printf("%d ", a[i]); printf("%d\n", a[n-1]); return 0; }
2.设计思路:(1)第一步:引入数组啊a[n],以及循环增量i,数组存放的个数n和交换变量swap;
第二步:给这个数组赋值;
第三步:利用交换变量swap进行交换;
第四步:输出结果;
(2)流程图:
3.遇到的问题:①起初在这个问题上在编译上没有问题,只是在格式上出现问题,即对行末不出现空格的输出不会,导致出现错误。
解决方法:我是通过上网百度找到的解决方法,通过先按如上的样式输出从i=0到i=n-2,在单个的输出i=n-1是的值;
7-4 fibonacci数列:
1.实验代码:
#include <stdio.h> int main() { int i; int f[12] = {1, 1}; for ( i = 2; i < 12; i++ ) { f[i] = f[i - 1] + f[i - 2]; } for ( i = 0; i < 12; i++ ){ printf ( "%6d", f[i] ); if ( (i + 1) % 3 == 0 ) { printf("\n"); } } return 0; }
2.设计思路:(1)第一步:首先引入数组f[12],循环增量i,并赋给数组f[12]的前两个值为1;
第二步:根据题意来求新的数组;
第三步:输出这个新数组;
(2)流程图:
3.遇到的问题:①本题老师上课讲过,本题也不是不会编程,就是提交的时候有格式错误,之后按照老师给的原代码打也是出现格式错误;
解决办法:先把老师的原代码直接复制粘贴在Dev-C++上,之后再根据题目要求进行修改才解决;
第15周第一次PTA作业 7-4数组元素循环右移问题:
1.实验代码:
#include<stdio.h> int main() { const int N=100; int a[N]; int i=0,m=0,n=0; scanf("%d %d",&n,&m); for(i=0;i<n;i++) { scanf("%d",&a[i]); } if(m<n) { for(i=(n-m);i<=(n-1);i++) { printf("%d ",a[i]); } for(i=0;i<(n-m-1);i++) { printf("%d ",a[i]); } printf("%d",a[n-m-1]); }else if(m>=n) { m=m%n; if(m==0) { for(i=0;i<n-1;i++) { printf("%d ",a[i]); } printf("%d",a[n-1]); }else if(m!=0) { for(i=(n-m);i<=(n-1);i++) { printf("%d ",a[i]); } for(i=0;i<(n-m-1);i++) { printf("%d ",a[i]); } printf("%d",a[n-m-1]); } } }
2.设计思路:(1)第一步:首先先定义一个数组a[N],以及循环增量i和要输入的格式n和m;
第二步:根据题意先给这个数组赋值;
第三步:根据题意要使数组的元素右移,首先要分情况讨论来判断元素右移的个数,并注意结尾不能出现空格的情况;
第四步:以此由不同的情况来输出结果;
(2)流程图:
注:因流程图太大,一个屏截不下来,所以我就截了两个屏,有点错位,望老师见谅!
3.遇到的问题:①考虑问题不全面,导致提交总是部分错误;由截图可看出我起初只是考虑了m<n的一种情况;
错误代码截图:
解决办法:①通过上网查了这个题的答案,从网上的各位大佬的答案来看我深刻的理解了这个题的题意,之后多加了几种情况就解决了问题,虽然代码很长,不想网上的大佬的那样简短,但我觉得我的还是简单易懂的;
要求三:
上传Git截图:
Git地址:https://git.coding.net/GBL/ZY.git
要求四:
(1)学到的内容:本周我学到了数组的一些规律;例如:冒泡排序,选择法排序,还有一些数组的简单赋值;
(2)难点:数组的冒泡排序、选择法排序的控制条件有时不能很快的想出,还有一些PTA上的结尾不出现空格,以及换行的要求等等都不太熟;
要求五:
1.点评的三位同学:丰大为:http://www.cnblogs.com/DavidPark/p/7955168.html
于耀淞:http://www.cnblogs.com/jsjyys/p/7955576.html
王鑫宇:http://www.cnblogs.com/wxy5336/p/7966876.html
邀请点评的三位同学:丰大为:http://www.cnblogs.com/DavidPark/p/7955168.html
胡景文:http://www.cnblogs.com/wshjw/p/7967814.html
顾家玮:http://www.cnblogs.com/qq807443119/p/7967832.htm
互评截图:
2.本周的学习进度: