2009C语言程序设计(参考答案).pdf
文本预览下载声明
中 山 大 学 软 件 学 院 2 0 0 9 级 软 件 工 程 专 业 (2009 秋季学期)
《 程 序 设 计 ( I)》 期 末 试 题 参 考 答 案 ( A 卷)
Section A: Multiple Choices (20 points)
1-5: (A) (A) (D) (D) (A)
6-10: (A) (C) (B) (C) (C)
Section B: Short Answer (40 points)
1.
Ans:
(a) y = sqrt((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2))
(2points)
(b) x = (-b + sqrt(b * b - 4 * a * c)) / (2 * a)
(2points)
(c) x = fabs(c) / sqrt(a * a + b * b)
(2points)
2.
double pi(int n) {
int i;
double sum = 0;
for (i = 1; i = n; i++) {
sum += 1.0 / (i * i); (3 points)
}
return sqrt(6 * sum); (3 points)
}
3.
(a) (2 points)
struct circle {
struct point p;
double r;
};
(b) (2 points)
double getArea(struct circle c) {
return 3.14159 * c.r * c.r;
}
第 1 页 /共 4 页
(c) (2 points)
double getCircumference(struct circle c) {
return 2 * 3.14159 * c.r;
}
(d) (4 points)
int isInside(sturct point p, struct circle c) {
if ((p.x - c.p.x) * (p.x - c.p.x) + (p.y - c.p.y) * (p.y - c.p.y) c.r * c.r)
return 1;
else
return 0;
}
4.
void dec2bin(int n) {
int b[64], i;
for (i = 0; n 0; i++) {
b[i] = n % 2; (3 points)
n /= 2; (2 points)
}
while (i-- 0) printf(%d, b[i]); (3 points)
}
5.
(a) (5 points)
double getMax(double a[], int length) {
int i;
double max = a[0];
for (i = 1; i length; i++) {
if
显示全部