2022-2023-1 20221301 《计算机基础与程序设计》第七周学习总结
作业信息
这个作业属于哪个课程 | <班级的链接>https://edu.cnblogs.com/campus/besti/2022-2023-1-CFAP |
---|---|
这个作业要求在哪里 | <作业要求的链接>https://www.cnblogs.com/rocedu/p/9577842.html#WEEK07 |
这个作业的目标 | 计算机科学概论第8章 并完成云班课测试《C语言程序设计》第6章并完成云班课测试 |
教材学习内容总结
- 数组是内嵌结构,列表是抽象结构
列表也可以被形象化为链式结构,链式结构以节点的概念为基础 - 栈和队列是抽象复合结构。栈只能从一端访问其中元素,采用后进先出
队列中的项目从一端入,从另一端出,采用先进先出 - 树是一种分叉的体系结构,二叉树是每个节点最多有两个子节点的树
- 树类似于一个无序列表,二叉检索树就像已排序的列表,节点间存在语义排序
- 图也是一种数据结构,去掉了一个节点至多只有一个指向它的节点的约束
是由一组节点和一组把节点相互连接起来的边构成的数据结构 - 参数列表是子程序要使用的标识符或值的列表,它放置在子程序名后的括号中
- 值参:有调用单元传入实参的副本的形参
- 引用参数:由调用单元传入实参的地址的形参
阅读教材中遇到的问题
- 在学习数组的时候,发现很多数组都是在一开始就定义了数组中的数的数量,我就开始思考,如何自己定义数组中数的数量,尝试了把数组定义为tense【n】,再用scanf函数输入n的数值,但不知道为什么没有成功……后来通过查书查阅资料,发现了一种方法,虽然不能自己选择所有的数作为选项去定义数组,但是可以自己改变数组中数的个数,代码如下:
include <stdio.h>
include <stdlib.h>
define NUMBER 80
int main()
{
int i,j;
int num;
int tensu[NUMBER];
int bunpu[11] = {0};
printf("请输入学生人数:");
do{
scanf("%d", &num);
if (num < 1 || num > NUMBER)
printf(" \a请输入1~%d的数:",NUMBER);
}while (num < 1 || num > NUMBER);
printf("请输入%d人的分数。\n", num);
for (i = 0; i < num; i++){
printf("%2d号:",i+1);
do {
scanf("%d", &tensu[i]);
if(tensu[i] < 0 || tensu[i] > 100)
printf("\a请输入1~100的数:");
}while(tensu[i] < 0 || tensu[i] > 100);
bunpu[tensu[i] /10]++;
}
puts("\n---分布图---");
printf(" 100:");
for (j = 0;j < bunpu[10]; j++)
putchar('*');
putchar('\n');
for (i = 9;i>= 0; i--){
printf("%3d - %3d:",i * 10,i * 10+9);
for (j = 0;j < bunpu[i]; j++)
putchar('*');
putchar('\n');
}
return 0;
}
运行结果如图:
代码调试中的问题和解决过程
- 问题1:上面的代码中第33行到40行还没有完全理解
- 问题1解决方法:通过逐行调试,看每行的作用是什么,尽量理解。
- 问题2:学习递推后,发现自己的数学不是很好……有时候想不到一些精妙的算法。
- 问题2解决办法:需要自己多去看不同的算法,并且在网上查找资料,逐步增强数学逻辑。
其他(感悟、思考等,可选)
最近开始在哈工大的网站上练习了,发现之前学的东西掌握的还不错,大概与之前不断敲代码并且尝试理解有关系,但是很快把自己会的知识点对应的题目做完了,其他很多题都还没与学习,虽然巩固了学过的东西,但是没有往前走,所以还是需要多看多学多练,不多往前走!
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 0/0 | 0/0 | 3/3 | |
第二周 | 200/200 | 6/6 | 18/21 | |
第三周 | 200/400 | 10/10 | 10/31 | |
第四周 | 300/700 | 2/12 | 19/50 | |
第五周 | 300/1000 | 3/15 | 20/70 | |
第六周 | 300/1300 | 5/20 | 15/85 | |
第七周 | 900/2200 | 1/21 | 15/100 |