实验3

 

  1. 实验任务1

 

 

问题1:函数 score_to_grade 的功能是什么?形参类型、返回值类型是什么?

将分数匹配对应的等级,形参类型为整数,返回值类型为字符

问题2:如果line21-28以下形式,代码存在哪些问题,请逐一指出。

  1. case分支后缺少break语句,在完成某一分支后会继续执行后续代码,无法实现单分支处理,导致输入分数后不能得到对应等级。
  2. 字符常量需用单引号’ ’表示,对ABCD的赋值表示错误。

 

2.实验任务2

 

 

 

 

 

问题1:函数 sum_digits 的功能是什么?

对输入数值的各位数字求和

问题2:如果保持 main 代码和函数 sum_digits 声明不变,把函数 sum_digits 定义成如下实现方式,能实现同等的效果吗? 如果不能实现同等效果,分析原因。 如果能实现同等效果,说明两种实现方式背后的算法思维区别。

能实现,原代码利用循环条件将各位数字分离出来并用除法将已分离的个位数字去除直到整数变为零。

第二种方式是利用递归思想将数值拆分为个位数字和其他数字,直到数值变为个位数字再跳出递归对得到的个位数字求和

3.实验任务3

 

 

 

问题1: 函数 power 的功能是什么?

计算数字x的n次方。

问题2:函数 power 是递归函数吗?如果是,找出递归模式。写出这个递归模式对应的数学公式模型。

 

4. 实验任务4

 

 

 

 

 

5. 实验任务5

 

 

 

6. 实验任务6

此部分书写内容:

用迭代方式实现计算组合数 func() 的完整源代码task6_1.c,及,运行测试截图

 用递归函数实现计算组合数 func() 的完整源代码task6_2.c,及,运行测试截图

 

 

 

 

7. 实验任务7

 

 

posted on 2025-04-05 14:57  chiwawa0412  阅读(15)  评论(0)    收藏  举报