加载中...

CS50|Labs


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 🎥

YouTube

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 🎥

YouTube

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 🎥

YouTube

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 🎥

YouTube

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 🎥

YouTube

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

  1. 列出所有歌曲名称
  2. 按 tempo 升序列出歌曲
  3. 列出最长的 5 首歌曲
  4. 找出 danceability, energy, valence > 0.75 的歌曲
  5. 计算平均能量
  6. 列出 Post Malone 的歌曲
  7. 计算 Drake 歌曲的平均能量
  8. 列出带 feat. 的歌曲

Walkthrough 🎥

YouTube

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 🎥

YouTube

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)


文章作者: Rickyの水果摊
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Rickyの水果摊 !
  目录