第二次作业
2018-12-20 20:24 promise灬文豪* 阅读(148) 评论(15) 编辑 收藏 举报
一、作业要求:https://edu.cnblogs.com/campus/hljkj/Cprogramming_2018Autumn_CST2018_4/homework/2502
二、函数:6-3 数字金字塔
1.实验代码
void pyramid (int n) { int row, col; for (row = 1; row <= n; row++){ for (col = 1; col <= n-row; col++) { printf(" "); } for (col = 1; col <= row; col++) { printf("%d ", row); } putchar ('\n'); } }
2.解题思路
第一步:定义变量
第二步:建立for循环
第三步:输出结果
3.本题调试过程碰到问题及解决办法
由于第一次接触函数作业,所以在上交的过程中会有编译错误的提示,通过询问助教后明白了其中的错误并将其改正。
2、数组.1:7-4 求一组数中的最大值和次最大值
1、实验代码
#include<stdio.h> int main() { const int N=10; int a[N]; int i; int p,q; int cmax,max; for(i=0;i<10;i++) { scanf("%d",&a[i]); } max=a[0]; cmax=a[0]; for(i=1;i<10;i++) { if(max<a[i]) { max=a[i]; p=i; } } for(i=1;i<10;i++) { if(cmax<a[i]&&i!=p) { cmax=a[i]; } } printf("max=%d,cmax=%d",max,cmax); return 0; }
2.解题思路
第一步:定义变量
第二步:输入数组中的数,使max=a[0];cmax=a[0];
第三步:建立for循环
第四步:在for循环中建立if判断语句条件为max<a[i]?
第五步:建立for循环
第六步:在for循环中建立if判断语句条件为cmax<a[i]&&i!=p?
第七步:在for循环中输出结果
3.本题调试过程碰到问题及解决办法
第一次没有利用好数组中最大值的编号,导致出现了错误。通过反复调试得到改进。
3、数组.2:7-1 简化的插入排序
1.实验代码
#include<stdio.h> int main() { const int N=10; int a[N]; int i,n,x,j,t; scanf("%d",&n); for(i=0;i<n;i++) { scanf("%d",&a[i]); } scanf("%d",&x); j=n; if(a[n-1]>x) { t=x; x=a[n-1]; a[n-1]=t; } while(j!=0) { for(i=0;i<n-1;i++) { if(a[i]>a[i+1]) { t=a[i]; a[i]=a[i+1]; a[i+1]=t; } } j--; } for(i=0;i<n;i++) { printf("%d ",a[i]); } printf("%d ",x); return 0; }
2.解题思路
第一步:定义变量
第二步:输入数组中的数
第三步:建立if判断语句
第四步:建立while循环条件为j!=0;
第五步:在while循环中建立for循环;
第六步:在for循环中家里if判断语句;
第七步:通过for循环输出结果;
3.本题调试过程碰到问题及解决办法
三、个人总结
(1)总结这几周你学习哪些内容(不限于课上)?你有哪些收获?
这几周我们学习了数组;
我学习后能用数组快速的编辑所需的程序,并更简单明了的谱写出来。
(2)总结这几周所学内容中你觉得哪些地方是难点?对此你做了哪些措施去克服这些困难?
1:数组的定义一开始没有弄明白;
2:函数的声明容易出现错误
3:不懂函数的调用
①:通过翻阅书籍了解数组的定义;
②:通过中国mooc学习函数
四、互评和学习进度
(1):刘昱淞同学
(2):邱作鹏同学
(3):王恩临同学
周数 | 本周代码行数/行 | 编写代码时间/时 |
博客字数/字 |
博客所用时间/时 |
涉及知识点 |
第十三周 | 4000 | 20 | 0 | 0 | 函数 |
第十四周 | 3500 | 17 | 0 | 0 | 数组 |
第十五周 | 3500 | 18 | 0 | 0 | 数组 |
第十六周 | 4000 | 21 | 1200 | 5 | 二维数组 |