C语言编程:求圆面积与函数应用

需积分: 9 8 下载量 190 浏览量 更新于2024-12-06 收藏 1.62MB DOC 举报
"09二级C语言考试相关的编程题目及解析" 这篇内容主要涉及了两个C语言编程题目,分别考察了圆面积计算和一个特定函数序列的求和。 第一个题目是计算半径为r的圆面积的一半。在给定的程序中,`double fun(double r)` 函数用于计算圆面积,但缺少了计算面积的具体表达式。根据圆面积公式 `πr²`,在函数体内的返回语句中应该填写 `r*r`,即`return 3.14159 * r * r / 2.0;`。在主函数 `main()` 中,`scanf()` 用于接收用户输入的半径值,需要传递半径变量x的地址,所以填入 `&x`。最后,调用 `fun()` 函数时,传入的是变量 `x` 的值,因此填入 `x`。 第二个题目要求计算特定函数序列的和 `S = f(-n) + f(-n+1) + … + f(0) + f(1) + f(2) + … f(n)`。函数 `f(x)` 的定义是 `f(x) = (x+1)/(x-2)` 当 `x > 0` 或 `x != 2`,`f(x) = (x-1)/(x-2)` 当 `x < 0`。题目中给出的函数 `f(double x)` 存在一个错误,即 `elseif` 应该是 `else if`,同时在计算 `f(0)` 时,程序会除以零,应该特殊处理。修正后的代码应该是: ```c f(double x) { if (x == 0.0) return 1.0; else if (x == 2.0) return 0.0; else if (x < 0.0) return (x - 1) / (x - 2); else return (x + 1) / (x - 2); } ``` 这两个题目都考察了C语言的基础知识,包括基本的数学运算、函数定义、输入输出以及条件判断语句的使用。在解决这类问题时,理解函数的作用、正确使用输入输出函数以及避免除以零等错误是关键。同时,熟悉并能应用基本的数学公式也是必要的。