C语言项目式系统开发教程(微课版)(彭顺生第2版)-课后习题答案.docx





《C语言项目式系统开发教程(微课版)(彭顺生第2版)-课后习题答案.docx》由会员分享,可在线阅读,更多相关《C语言项目式系统开发教程(微课版)(彭顺生第2版)-课后习题答案.docx(33页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、C语言项目式系统开发教程(微课版)(第2版)课后习题答案第一章一、选择题1. B2. B3. A4. C5. D二、填空题1. C2. 函数头、函数体3. 编译4. main函数5. /*、 */三、编程题#include void main()(printf(姓名:张俊杰,年龄:18岁,籍贯:湖南长沙”);第二章一、选择题1. B2. C3. D4. C5. C6. Aprintf(“大马:%2d 中马:%2d 小马:2dn m, n, k); sum+;)return 0;)第五章一、选择题1. A2. C3. A4. C5. A6. C7. C8. D9. B10. B二、填空题1. 1
2、0、0、92. 63. scanf(n%dcontinue4. 0、65. si+三、编程题编写一个程序:学生输入5门功课的成绩计算出该生本学期5门功课的平均成绩, 结果保留两位小数(注:使用数组完成)。ftinclude int main()int score5sum = 0;for (int i = 0; i 5; i+) scanf(M%d &scorei);sum += scorei;)printf(“本学期5门功课平均成绩为:%.2f分n (float)sum / 5);return 0;)输出斐波那契数列。#include int main() int i, n, tl = 1,
3、t2 = lj nextTerm;scanf(n%d &n);for (i = 1; i = n; +i) printf(%d t tl);nextTerm = tl + t2;tl = t2;t2 = nextTerm;if (!(i % 5) putchar(1n);)return 0;用户从键盘输入一组正整数,以-1为结束符。请计算并输出该组数据中最小的那 个数。#include int main()(int d, min;scanf(M%d &d);min = d;while (d != -1)if (d min) min = d; scanf(,%d &d);)if (min !=
4、-1) printf(%d? min);return 0;编写程序实现简单的字符串加密。加密规则如下:将字符串中的英文字母替换成 ASCII表中它后面的第2个字符,其他字符不处理。#include int main()(char c;while (c = getchar() != 1n) putchar(c + 2);return 0;)编写程序,定义NxN的二维数组,输出将数组左下半角元素中的值全部置0的新 数组。#include #define N 3int main()(int aNN;for (int i = 0; i N; i+)for (int j = 0; j N; j+) sc
5、anf(H%d &aij); if (j = i) aij = 0;)putchar(n1);for (int i = 0; i N; i+) (for (int j = 0; j N; j+) printfCd aij);putchar(n1);)return 0;求NxW整型数组的正对角线和反对角线元素的和。ftinclude ftdefine N 3int main() (int aNNxl, x2;xl = x2 = 0;for (int i = 0; i N; i+)for (int j = 0; j N; j+) scanf(H%d &aij);if (j = i)xl += ai
6、j;if (j = N - i - 1) x2 += aij;)prirrtf(正对角线的和是d,反对角线的和是小n xl, x2);return 0;新草分布在R行C列的牧场里。用户想计算一下牧场中的草丛数量。ftinclude char map1616;int n, m;int total;void Search(int x, int y) (if (x = n | y = m | mapxy = 1 *1) (return;)mapxy =Search(x - 1, y);Search(x, y - 1);Search(x y + 1);Search(x + 1, y);)int mai
7、n()scanf(,%d%dn, &n, &m);int i, j;for (i = 0; i n; +i) (for (j = 0; j m; +j) scanf(H%c &mapij);) getchar();)for (i = 0; i n; +i) for (j = 0; j m; +j)if (mapij = 1#)+total;Search/, j);)printf(,%dn, total);return 0;)给定一个字符串,在字符串中找到第一个连续出现至少k次的字符。#include int main() char c, last;int t, count = 1;scanf(
8、n%dn &t);c = getchar(); last = c;while (c = getchar() != 1n1)(if (last = c)if (+count = t) printf(H%cn last); break;)elseFcount = 1;last = c;)return 0;)第八早一、选择题1. c2. D3. D4. B5. B6. A二、填空题1 . math.h2 . int3 .函数首部定义的类型4,函数值的类型5 .无返回值6 .全局、局部8 .直接、间接三、编程题请编写函数fun。该函数的功能是:计算并输出n(包括n)以内所有能被5或9整 除的自然数的倒
9、数之和。注意:n的值要求不大于100。#include float fun(int n);int main()(int a;scanf(M%d &a);printf(”此范围内满足条件的数的倒数和为:fun(a);float fun(int n)(float sum = 0;for (int i = 1; i = n; i+)if (i % 5 = 0 | i % 9 = 0)sum += 1.0 / i;)return sum;函数fun。的功能是:将s所指字符串中下标为偶数同时ASCII值为奇数的字符到 除,s所指字符串中剩余的字符形成的新字符串放在t所指的数组中。#include #in
10、clude ftdefine N 80void fun(char *s, char t)(int i, j = 0;for (i = 0; i strlen(s); i+)if (i % 2 | si % 2 = 0)tj+ = si;tj=int main()char sN, tN;gets(s);fun(s, t);printf(,%sn, t);return 0;请编写函数fun().其功能是:计算并输出多项式。S=(l-l/2)+(l/3-l/4)+l/(2n- l)-l/2n的值。#include float fun(int n) (if (n = 0)return 0;elsere
11、turn (1.0 / (2.0 * n - 1) - 1.0 / (2.0 * n) + fun(n - 1); int main() (int n;scanf(M%d &n);printffun(n);return 0;)编写函数fun(),其功能是:从字符串中除指定的字符。同字母的大、小写按不同字 符处理。注意:如果输入的字符在字符串中不存在,则字符串照原样输出。#include #include void fun(char a, char b, char c) (int ib = 0;for (int i = 0; ai != 101; i+) (if (ai = c)continue
12、:int main()char a32, b32, c; gets(a);c = getchar();fun(a? b, c);puts(b);return 0;编写函数fun。其功能是:实现两个字符串的连接(不要使用库函数scO),即把p2所 指的字符串连接到pl所指的字符串的后面。#include #include void fun(charchar pulsf)(int lenght = strlen(str);int i;for (i = 0; pulsi != 0*; i+)strlenght + i = pulsfi;int main()(char string32? string
13、232;gets(string);gets(string2);fun(string, string2);puts(string);return 0;)请编写函数fun。.其功能是:计算并输出给定10个数的方差。(方差计算方式: 先计算10个数的平均值再用平均值减去每个数的平方,求累加和:对累加和开平方。)#include #include float fun(float n10)float average =0, s = 0; short i = 0;for (i = 0; i 10; i+)printf(H%fn ni); average += ni;)average /= 10.0;for
14、 (i = 0; i 10; i+)s += pow(ni - average2);s /= 10.0;return sqrt(s);)int main()(float n10 = 0;for (int i = 0; i 10; i+) scanf(n%f &ni);printf(,s=%lf,J fun(n);return 0;编写函数fun(),其功能是:求ss所指字符串中指定字符的个数并返回。#include ftinclude int fun(char char b)(int count, 1 = strlen(a);for (int i = 0; i 1 | ai = 101; i+
15、) if (ai = b)count+;return count;) int main()(char a32c;gets(a);c = getchar();printf(%dn, fun(aJ c);return 0;7. D8. A9. B10. C11. D12. C13. A14. A15. B16. B17. A二、填空题1. 3.141593,3.1416,3.142,UUUUU3.1423.141593e+00,3.1416e+00,3.142e+00,3.142e+002. c=h3. i=l,k=Llj=24. xl = 98,x2 = 765,yl = 4,y2=l1. xl
16、=98/x2=76,yl=Llly2=3xl=98,x2=765,yl=ly2=25,使用了读入整数的%d作为格式说明符6. 123、45三、编程题ftinclude void main()int 1, w;scanf(,%d%d,1J &1, &w);printf(长方形周k: %d,长方形面积:.2F, (1 + w) * 2, (float)l * w);请编一个函数fun(char sO,该函数的功能是:把字符串中的内容逆置。#include #include void fun(char s) (int length = strlen(s);for (int i = 0; i leng
17、th / 2; i+) char c = slength - i - 1;slength - i - 1 = si;si = c;) int main() (char s32; gets(s);fun(s);puts(s);return 0;)第七章一、选择题1. AB2. DD3. CC4. DB5. DB6. c二、填空题1. 指针地址32. 整型自增3. a5A4. bookaabc5. b,BAb10.411.1612. 87&5432L13.4三、编程题L使用动态内存分配方式申请4个字节的内存单元存放整数类型变量,通过指针 访问内存单元,向其中写入5,并输出结果。#include “
18、stdio.h#include malloc.hvoid mainQ(int num=int *malloc(sizeofint)/p=#*P=5;printf(整数为:)2.定义一个动态数组,长度为变量n,用1199的随机数给数组各元素赋值, 然后遍历输出数组。(首先使用srand。来设置产生随机数时的种子,然后调用随 机函数randQ,调用后会返回在。RAND_MAX均匀分布的随机整数,RAND_MAX至少为32767, 一般都默认为32767。)#include stdio.hn#include ustdlib.hvoid mainQ(int *a,n/;srand(int)ti
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 项目 系统 开发 教程 微课版 彭顺生第 课后 习题 答案

限制150内