文档详情

2009C语言程序设计(参考答案).pdf

发布:2015-09-01约5.19千字共4页下载文档
文本预览下载声明
中 山 大 学 软 件 学 院 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
显示全部
相似文档