CS50 Labs
整合了 CS50 2023 Spring 的 Labs 1-8
GitHub Repository: https://github.com/Ricky2333/CS50-Labs
CS50 Study Group:677535709(QQ Group)
Lab 1: Population Growth (C)
Lab1 Page: https://cs50.harvard.edu/x/2023/labs/1/
Background 🧐
每年会有 n/3 的新 llamas 出生,n/4 的 llamas 死亡。计算达到目标数量所需的年数。
Specification
- 提示用户输入起始数量(≥9)
- 提示用户输入结束数量(≥起始数量)
- 计算并输出达到结束数量所需的年数
$ ./population
Start size: 1200
End size: 1300
Years: 1
Walkthrough 🎥
Submit
submit50 cs50/labs/2023/x/population
Lab 2: Scrabble (C)
Lab2 Page: https://cs50.harvard.edu/x/2023/labs/2/
Background 🧐
实现 Scrabble 得分计算。两个玩家输入单词,得分高的获胜。
Specification
- 使用
POINTS数组存储字母分值 - 实现
compute_score()函数 - 大小写不敏感,非字母得 0 分
$ ./scrabble
Player 1: COMPUTER
Player 2: science
Player 1 wins!
Walkthrough 🎥
Submit
submit50 cs50/labs/2023/x/scrabble
Lab 3: Sort (C)
Lab3 Page: https://cs50.harvard.edu/x/2023/labs/3/
Background 🧐
判断三个已编译的程序分别使用了哪种排序算法:选择排序、冒泡排序、归并排序。
Specification
- 运行
sort1,sort2,sort3对不同数据排序 - 分析执行时间确定算法类型
- 在
answers.txt中填写答案
Walkthrough 🎥
Submit
submit50 cs50/labs/2023/x/sort
Lab 4: Smiley & Volume (C)
Lab4 Page: https://cs50.harvard.edu/x/2023/labs/4/
What to Do
二选一提交:
Lab 5: Inheritance (C)
Lab5 Page: https://cs50.harvard.edu/x/2023/labs/5/
Background 🧐
模拟血型遗传。每个父母随机传递一个等位基因给孩子。
Specification
- 实现
create_family()函数创建家族 - 实现
free_family()函数释放内存 - 最老一代随机分配等位基因,年轻一代从父母继承
$ ./inheritance
Child (Generation 0): blood type OO
Parent (Generation 1): blood type AO
Walkthrough 🎥
Submit
submit50 cs50/labs/2023/x/inheritance
Lab 6: World Cup (Python)
Lab6 Page: https://cs50.harvard.edu/x/2023/labs/6/
Background 🧐
使用蒙特卡洛模拟 FIFA 世界杯比赛,计算各队夺冠概率。
Specification
- 读取 CSV 文件中的球队和评分
- 实现
simulate_tournament()函数 - 运行 N 次模拟,统计夺冠次数
$ python tournament.py 2018m.csv
Belgium: 20.9% chance of winning
Brazil: 20.3% chance of winning
...
Walkthrough 🎥
Submit
submit50 cs50/labs/2023/x/worldcup
Lab 7: Songs (SQL)
Lab7 Page: https://cs50.harvard.edu/x/2023/labs/7/
Background 🧐
使用 SQL 查询分析 Spotify 歌曲数据库。
Problems
- 列出所有歌曲名称
- 按 tempo 升序列出歌曲
- 列出最长的 5 首歌曲
- 找出 danceability, energy, valence > 0.75 的歌曲
- 计算平均能量
- 列出 Post Malone 的歌曲
- 计算 Drake 歌曲的平均能量
- 列出带 feat. 的歌曲
Walkthrough 🎥
Submit
submit50 cs50/labs/2023/x/songs
Lab 8: Trivia (Web)
Lab8 Page: https://cs50.harvard.edu/x/2023/labs/8/
Background 🧐
用 HTML, CSS, JavaScript 编写一个问答网页。
Specification
- Part 1: 多选题,点击按钮显示正确/错误
- Part 2: 填空题,输入答案后验证
- 正确显示绿色,错误显示红色
Walkthrough 🎥
Submit
submit50 cs50/labs/2023/x/trivia
Solution 🧑🏻💻
Ricky’s GitHub Repository for CS50 Labs: https://github.com/Ricky2333/CS50-Labs
CS50 Study Group:677535709(QQ Group)