2023-2024-1 20231303 《计算机基础与程序设计》赵泊瑄第十三周学习总结
作业信息
这个作业属于哪个课程 | 2023-2024-1-计算机基础与程序设计 |
---|---|
这个作业要求在哪里 | 作业要求的链接https://i.cnblogs.com/posts/edit) |
这个作业的目标 | 总结第十三周学习收获 |
作业正文 | 2023-2024-1 20231303 《计算机基础与程序设计》第十三周学习总结 |
本周学习总结
《C语言程序设计》
这一章主要讲解了数据结构,详讲了结构体相关知识。
1.结构体(1)结构体的定义
typedef struct sdudent
{
char mingzi[15];
long num;
int score[3];
int sum;
int ave;
}STUDENT;
(2)结构体数组的定义与初始化
STUDENT stu[N];
定义的数组stu【n】中的每一个元素都是一个结构体元素。
(3)结构体指针的定义与初始化
(4)向函数传递结构体。
2.共用体
3.枚举数据类型
4.动态数据类型(单向链表)
5.栈和数列和树和图
6.栈:
定义: 计算机栈是计算机内存的一部分,用于存储函数调用的信息、局部变量和临时数据。
特点: 栈是一种后进先出(Last In, First Out,LIFO)的数据结构,最后进栈的数据被最先弹出。栈操作包括入栈(push)和出栈(pop)。
用途: 栈在程序执行中的主要作用是管理函数的调用和返回。每次函数调用,相关信息(如返回地址、局部变量等)都会被压入栈中,函数返回时再从栈中弹出这些信息。
代码调试的问题:
include <stdio.h>
int gcd(int a, int b);
int main() {
int i = 0;
int a = 0;
int shu[20];
do {
scanf("%d", &shu[i]);
i++;
a++;
} while (shu[i - 1] != -1);
int result = 0;
for (int i = 0; i < a - 2; i++) {
for (int j = i + 1; j < a-1; j++) {
result += gcd(shu[i], shu[j]);
}
}
printf("%d\n", result);
return 0;
}
int gcd(int a, int b) {
while (b != 0) {
int temp = b;
b = a % b;
a = temp;
}
return a;
}这个题需要使用辗转相除法求最大公约数。
但是在循环输入过程中,使用dowhile循环时,是先进行循环后检测到停止条件才退出的。
所以先增元素序号,再增加总数。
基于AI的学习
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 70/100 | 30/2 | 18/20 | 预习课程 |
第二周 | 300 /300 | 25/4 | 30/38 | 尝试使用GPT答疑 |
第三周 | 500/1000 | 3/7 | 30/60 | 学习运用c语言编写简单程序 |
第十三周 | 1300/1300 | 15/15 | 80/90 | 学习C语言文件操作 |