C语言程序设计课后习题作业.doc
C语言程序设计 – 第 01 章课后习题
一、二、三、、选择1.2.3.4.5.、填空1.2.3.4.5.、算法1.2.1. 以下2. 在一3. 以下4. 结构5. 在程1. 一个2. 3. 算法4. 结构5. 结构算法设1. 求三2. 选择题以下叙A. B. C.D.(句在一个A. B. C.D.(程序以下叙A. B. C.D.(结构化A. B. C.D.(在程序A. B. C.D.填空题一个简一个算法的结构化结构化算法设计求三个求1+2择题 以下叙述 C 语言C. D. (解释句,另外 必须 可以C. 必须D. 必须(解释程序也就以下叙述 C 语言C. D. 同一(解释结构化程 程序 程序C. 程序D. 程序(解释在程序设 不限 减少C. 程序D. 程序空题 一个简单C 算法的特结构化程结构化程法设计题求三个数1+2+3下叙述不正一个语言程在一个解释:一个必须在程可以在任必须在程必须在系解释:序也就执下叙述中正在语言程构成同一个解释:构化程序设程序的规程序的易程序的执程序的可解释:程序设计时不限制减少或取程序越短程序结构个简单的语言法的特性是构化程序由构化程序设计题三个数中的+2+3+述不正确个C 语言语言程序C 语言程个C 语言:另外被C 须在程序以在任意须在程序须在系统:一个也就执行述中正确C 语言程语言程序成C 语言一个:程序设计序的规模序的易读序的执行序的可移:结构设计时限制got 少或取消序越短越序结构应单的语言程序特性是程序由程序设计 数中的最+3+不正确的语言程言程序的语言程序语言程C 语言程外被“程序中在程序的在任意地在程序的在系统调一个就执行完了中正确的语言程序言程序中语言程C 语言main 序设计主的规模的易读性的执行效的可移植结构化程计时,或取消注越短越好结构应有C 语言言程序是性是 有穷序由 顺序序设计方中的最大…正确的是语言程序程序的基本言程序中语言程序语言程序/*”序中,程序的最任意地方程序的最系统调用个C 程序行完了正确的是言程序中程序中有输语言程序语言程ain 函数设计主要强规模易读性执行效率可移植性构化程序,应采纳goto 语句取消注释短越好构应有助语言程程序是从顺序结设计方法的的最大者+100的是(言程序可的基本组程序中言程序必言程序中”和“,序的最后面意地方序的最前面统调用的库程序总完了)的是(程序中,中有输入言程序的语言程序函数在一主要强调读性行效率移植性化程序设应采纳的语句的消注释行越好应有助于读语言程序至序是从有穷性顺序结构方法的主大者。
《C语言程序设计》课后习题参考答案
――武汉大学出版社
习题
一、选择题
1.A 2. D
二、填空题
1.BASIC、FORTRAN、AL_GOL60和COBOL
2. 8
3.关键字
4.编辑、编译、链接和运行
三、简答题
1.答:
(1)C语言具有结构化的控制语句。C语言提供了结构化程序所必需的基本控制语句,实现了对逻辑流的有效控制。
printf("%d",j);
for(j=i-1;j>0;j--)
printf("%d",j);
printf("\n");
}
}
3.用1元5角钱人民币兑换5分、2分和1分的硬币(每一种都要有)共100枚,问共有几种兑换方案?每种方案各换多少枚?
[提示:设5分、2分和1分的硬币各换x,y,z枚,依题意有x+y+z=100,5x+2y+z=150,由于每一种硬币都要有,故5分硬币最多可换28枚,2分硬币最多可换73枚,1分硬币可换100-x-y枚,x,y,z只需满足第2个方程即可打印,对每一组满足条件的x,y,z值,用计数器计数即可得到兑换方案的数目。]
switch(m)
{case0:case1:case 2:case3:case 4:case 5:grade='E';break;
case6:grade='D';break;
case 7:grade='C';break;
case8:grade='B';break;
case 9:grade='A';
}
1. A 2.A3.C
二、填空题
C程序设计课后习题1-3(答案)
C程序设计课后习题第一章习题1.选择题(1)C语言程序的执行总是从(A)开始。
A.main函数的入口 B.编译预处理命令C.源程序的第一个函数D.源程序的第一行语句(2)在C语言的源程序中,主函数的位置(C)。
A.必须在编译预处理命令的后面B.必须在源程序的最后C.任意D.必须在源程序的开头(3)下列变量名中合法的是(C)。
A. B.C.Tom B.3a6bC._6a7bD.$ABC(4)下面两对用户定义标识符哪个可读性更强:(C)A.checkqualityB.salarytotalC.check_quality C.sal_ary_tot_al(5)C程序是由(D)组成。
A.若干个过程B.若干子程序C.一个主程序和若干子程序D.若干函数2.填空题(1)一个函数一般由两部分组成,它们分别是_函数首部______和__函数体____。
(2)编译预处理命令___是_____(填“是”或“不是”)C语言文本的一部分。
(3)一个C语言程序至少应包含一个__主函数或main()__。
(4)C语言的标准输入函数是_scanf()__,标准输出函数是___printf()____。
(5)函数体用___{______符号开始,用_____}______符号结束。
(6)注释的开始和结束标志分别为__/*____和____*/____。
为增强程序的__可读性___,应该为程序写上清晰的注释。
3.编程题:参考本章例题,编写一个C程序,输出以下信息。
***********************The data is ** 2005-03-23 ***********************程序如下:#include <stdio.h>Void main(){printf(“**********************\n”);printf(“*The data is *\n”);printf(“* 2005-03-23 *\n”);printf(“**********************\n”);}第二章习题1.选择题(1)设int m=10 ,则下列表达式的值不等于零的有(A F)。
《C语言程序设计教程》(第三版)课后习题参考答案(精选5篇)[修改版]
第一篇:《C语言程序设计教程》(第三版)课后习题参考答案C语言程序设计课后习题参考答案习题一一、单项选择题1、C2、B3、B4、C5、D6、A7、C8、A二、填空题1、判断条件2、面向过程编程3、结构化4、程序5、面向对象方法6、基本功能操作、控制结构7、有穷性8、直到型循环结构9、算法10、可读性11、模块化12、对问题的分解和模块的划分习题二一、单项选择题1、B2、D3、C4、B5、A二、填空题1、主2、C编译系统3、结构化4、程序5、面向对象方法6、.OBJ7、库函数8、直到型循环结构习题三一、单项选择题1、D2、B3、A4、C9、B10、C11、A12、D13、C17、B18、C19、C20、D21、A25、D26、A二、填空题1、补码2、10^-138~10^1 38、15~166、A7、B6、D7、B14、B15、C22、D8、C8、D16、A24、D、A3、实4、单目运算符、自右向左5、函数调用6、65,89习题四一、单项选择题1、D2、C3、D4、A5、D6、B7、A8、C9、B10、B二、填空题1、两, ;2、5.1690003、-200 2500、i=-200,j=2500回车、i=-200回车j=2500回车4、a=98,b=765.000000,c=4321.0000005、100 25.81 1.89234、100,25.81,1.89234、100回车25.81回车1.89234回车6、0,0,37、38、scanf(“%lf %lf %lf”,&a,&b,&c);9、13 13.000000 13.00000010、c=b-a;a=b+c;习题五一、单项选择题1、B2、D3、C4、B5、B6、D7、A8、B二、填空题1、1 、02、k!=03、if(x>4||xelse printf(“error!”); 4、if(((x>=1&&x=200&&x Printf(“%d”,x);5、16、17、10! Right!8、a=09、2,110、0习题六一、单项选择题9、D1、B2、C3、C4、B5、C6、B7、C8、A二、填空题1、无穷次2、83、205、3.66、*#*#*#$7、828、d=1.0 、k++、k9、!(x习题七一、单项选择题1、B2、D3、C4、C5、A二、填空题1、1 2 4 8 16 32 64 128 256 5122、a[age]++、i=18;i3、break、i==84、a[i]>b[i]、i3、j5、b[j]=0、b[j]=a[j][k]习题八一、单项选择题1、B3、C4、A5、A9、D10、B11、A12、C13、A二、填空题1、return1、return n+sum(n-1)2、return1、n*facto(n-1)习题九一、单项选择题1、D2、C3、D4、A5、C9、B10、C11、A13、B17、C18、A19、B20、C二、填空题1、int 、return z2、*p++3、’\0’、++4、p、max*q6、A7、D6、A7、C14、C15、B6、C7、C14、A15、D8、A8、D8、C习题十一、单项选择题1、D2、D3、A4、5、B6、A7、C8、B9、D10、11、C12、D13、D14、C二、填空题1、34 122、ARRAY a[10],b[10],c[10];3、2 34、ab、cd5、(*b).day、b->day6、adghi mnohi no7、(struct node *)、!=’\n’、p=top;8、p1=p1->next9、(struct list *)、(struct list *)、return (n)习题十一一、单项选择题1、A2、A3、B4、A5、B9、A10、B11、B12、B13、C17、D二、填空题1、ASCII(文本)、二进制2、pf=fopen(“A:\zk04\data xfile.dat”,”w”);3、fputc()、fputs()、fscanf()、fread()4、(后两个空)文件结束符、非0值7、B14、C15、D8、A16、A第二篇:C语言程序设计教程课后习题参考答案《C语言程序设计教程》课后习题参考答案习题1 1. (1)编译、链接.exe (2)函数主函数(或main函数)(3)编辑编译链接2.(1)-(5):DDBBC (6)-(10):ABBBC 3.(1)答:C语言简洁、紧凑,使用方便、灵活;C语言是高级语言,同时具备了低级语言的特征;C 语言是结构化程序设计语言,具有结构化的程序控制语句;C语言有各种各样的数据类型;C语言可移植性好;生成目标代码质量高,程序执行效率高。
C语言程序设计课后习题(写的作业)参考题解
第一章习题1. 5请参照本章例题,编写一个C程序,输出以下信息:**************************Very Good!**************************解:mian(){printf(“**************************”);printf(“\n”);printf(“Very Good!\n”);printf(“\n”);printf(“**************************”);}1.6 编写一个程序,输入a、b、c三个值,输出其中最大值。
解:mian(){int a,b,c,max;printf(“请输入三个数a,b,c:\n”);scanf(“%d,%d,%d”,&a,&b,&c);max=a;if(max<b)max=b;if(max<c)max=c;printf(“最大数为:“%d”,max);}第二章略第三章3.5用scanf下面的函数输入数据,使a=3,b=7,x=8.5,y=71.82,c1=ˊAˊ,c2=ˊaˊ,问在键盘上如何输入?main(){int a,b;float x,y;char c1c2;scanf("a=%d_b=%d",&a,&b);scanf("_x=%f_y=%e",&x,&y);scanf("_c1=%c_c2=%c",&c1,&c2);}a=3_b=7_x=8.5_y=71.82_c1=A_c2=a第四章3 写出下面各逻辑表达式的值。
设a=3,b=4,c=5。
(1) a+b>c&&b==c(2) a||b+c&&b-c(3) !(a>b)&&!c||1(4) !(x=a)&&(y=b)&&0(5) !(a+b)+c-1&&b+c/2解:(1) 0(2) 1(3) 1(4) 0(5) 14 有3个整数a、b、c,由键盘输入,输出其中最大的数。
C语言程序设计课后习题答案Word版
第1章(P18)一.单项选择题1.B2.B3.B4.C5.A6.C7.D8.C二. 填空题1. main2. 反斜杠3. 常量、变量、运算符、函数调用、表达式、保留字4. 一 , main , main5. 326. 由字母或下划线开头的字母、数字、下划线组成的一串符号第2章(P39)一.选择题1. D2.B3.B4.B5.D6.A7.B8.D9.A 10.B 11.C 12.C 13.B 14.B15.A 16.D二.填空题1. 控制代码、ASCII码字符集中的任意字符、特殊字符、换行符、Tab符号、左退一格符号、换页符号、响玲符号2. 其值可以发生变化的量 , 变量名 , 变量值 , 存储单元 , short int , -32768~32767 ,long int , -231~(231-1) , unsigned short , 0~65535 , unsigned long , 0~(232-1)3. 自增、自减 , 加和减 , +、-、×、/、% , 自增、自减4. 不同类型混合运算时,由编译系统自动完成5. (1)7 (2)6 (3)7 (4)1 (5)10 (6)0 (7)1 (8)0 (9)0 (10)0三. 运行程序题1. 27.0000002.13.700000第3章(P55)一.选择题1.A2.A3.C4.B5.C6.B二. 填空题1. 回车 , 输入的字符 , 从标准设备(键盘)读入一个字符2. 按用户指定的格式从键盘上把数据输入到指定的变量中 , 格式字符串开头标志 , 控制输入数据的格式 , 输入八进制整数 , 输入单个字符 , 输入字符串3. 一个字符 , #include<stdio.h>4. 按用户指定的格式 , 把指定的数据输出到屏幕上显示 , 格式字符串开头的标志 , 指定输出格式 , 以八进制形式输出无符号整数 , 以小数形式输出单、双精度数 , 输出单个字符 , 输出字符串 , 以%f、%e中较短的宽度输出单、双精度实数.5. (1) -200 , 2500 (2)i=-200 , j=2500 (3)i=-200j=25006. 12 , 0 , 07. 分号8. 100(回车) 100(空格)25.8(空格)1.89234 100(TAB)25.8(TAB)1.8923425.81(回车)1.892349. x=127 , x= 127 , x= 177 , x= 12710. a=513.789215 , a= 513.79 , a= 153.78921500 , a= 513.78921500三. 运行程序题1. a=27; b=15; c=32. p=73. 5 105,34.73125134.73, 34.7312A,65computer, computer4. 575, 767.856400,-789.12402367.86, -789.12,67.856400,-789.124023,67.856400,-789.1240236.78564e+01, -7.9e+02A,65,101,411234567,1234567,d68765529,177771,fff9,-7COMPUTER, COM第四章(P76)一.选择题1.D2.C3.D4.C5.B6.D7.B8.A9.B 10.A 11.C 12.D 13.A 14.A 15.D 16.A 17.A 18.B 二.填空题1.结构化控制、结构、程序的性能、运行2.执行循环体一次、再判断表达式的值、判断、执行3.switch语句、循环语句、循环体三.运行程序题1.(1)0 (2)1 (3)1 (4)0 (5)12.#$#$#$&3.3667784. *************************四.完善程序题1.fabs(t)、t、-s2.=’*’、’\n’、YES第五章(P100)一.选择题1.B2.A3.B4.C5.C6.A7.B8.A9.C二.填空题1.20、0、192.数组名3.越界三.运行程序题1.3572.*************************3.18104.输出一个3×3矩阵的转置矩阵四.完善程序题1.k、-12.&a[i][j]、a[i][i]+a[i][2-i]3.ndigit[10]、ndigit[ch-‘0’]++第六章(P130)一.选择题1.D2.D3.B4.A5.D6.A7.A8.B9.B 10.A 11.B 12.D 13.A 14.A 二.填空题1.函数内部2.函数内部、局部3.return、void4.fun()、extern三.运行程序题1.122.93.10214.215.a=5,b=3a*b=15a+b=86.11101121011310114101151017.238.2226四.修改程序题1.在主函数前加上:float mul(float a,float b);把float mul(float a,b)改为float mul(float a,float b) 2.把z=fabs(x-y);改为z=abs(x-y);3.把输入的整数转换为字符串逆序输出第七章(P160)一、选择题A D D C DB D B A C二、填空题1、取内容、取地址2、3、+33、xyz、x4、1002、1004、1008、1001、10065、286、4、a[2][0]7、6、a[3]三、运行程序题1、porm2、ga3、88884、307四、完善程序题1、++i、i2、0、z第八章(P194)一、选择题D BCBCBDBC二、运行程序题1、36、40、412、133、zhao4、1,1二、填空题1、成员、用指针访问成员2、343、12、6.0000004、34、125、2、36、struct node *next7、num!=p1->info && p1->link=NULL、head=p1->link、p2->link=p1->link第九章(P209)一、选择题1-8 CC A DCDC ( 3错. 32->64)二、填空题1、72、PR(x); PR(y);三、运行程序题1、932、2 123、a=14,b=15,c=04、Hid Ted5、R=2.5 circ=15.707963 area=19.634954第10章(P219)一、B A A A DB AC A C二、1. ~ << >> & ^ |2. 0x22 0xbbbb 0x bb99 001101100 最高补0 最高补101011011 11011011三、1. 12342.15765375765四、 1. 12 <<2. 15 -1第11章一、 B C D B BC C B D二、 1. “w”“rb”“ab+”“rt”“wt+”2. 缓冲文件系统非缓冲文件系统三、完善程序题1、rewind(fp);fp2、"a+";"r";fp1四、编写程序题1、从键盘输入一个字符串(以“#”作为结束符),把文本输出到磁盘文件e.dat中。
《C语言程序设计》 课后习题答案 高等教育出版社
《C语言程序设计》课后习题答案高等教育出版社《C语言程序设计》课后习题答案高等教育出版社第一章:C语言概述1. C语言的特点C语言是一种以处理底层任务和系统编程为目标的高级编程语言。
其特点包括语法简洁、执行效率高、可移植性强等。
第二章:C语言基本数据类型1. C语言中的基本数据类型C语言中的基本数据类型包括整型、字符型、浮点型等。
整型可以进一步细分为有符号整型和无符号整型。
第三章:C语言运算符1. C语言中的运算符C语言中常见的运算符包括算术运算符、赋值运算符、关系运算符、逻辑运算符等。
这些运算符用于执行各种数学和逻辑操作。
第四章:C语言控制语句1. C语言中的条件语句C语言提供了if语句和switch语句来实现条件判断。
if语句用于执行基于布尔表达式的条件分支,而switch语句用于根据不同的值执行不同的代码块。
第五章:C语言函数1. C语言中的函数定义和调用函数是C语言中的基本模块,用于封装可重用的代码。
函数定义包括函数返回类型、函数名、参数列表和函数体等部分。
第六章:C语言数组1. C语言中的数组定义和使用数组是一组相同类型的数据元素的集合。
C语言中可以使用数组来存储和操作大量数据。
第七章:C语言指针1. C语言中的指针概念指针是一种变量,它存储了内存地址。
通过指针,可以直接访问和修改对应内存地址中的数据。
第八章:C语言字符串1. C语言中的字符串操作字符串是由一系列字符组成的数据类型。
C语言通过字符数组来表示和操作字符串。
第九章:C语言结构体1. C语言中的结构体定义和使用结构体是一种自定义的复合数据类型,它可以包含多个不同类型的成员变量。
第十章:C语言文件操作1. C语言中的文件读写操作文件操作是一种重要的数据输入和输出方式。
C语言提供了一系列函数来实现文件的读写操作。
总结:通过解答以上习题,我们可以更好地掌握C语言的各个方面,提升我们的编程能力和解决问题的能力。
希望本文对读者有所帮助。
(word完整版)C语言程序设计课后习题1-8参考答案
C语言程序设计课后习题1—8参考答案习题1参考答案一、简答题1、冯诺依曼计算机模型有哪几个基本组成部分?各部分的主要功能是什么?答:冯诺依曼计算机模型是由运算器、控制器、存储器、输入设备、输出设备五大功能部件组成的。
运算器又称算术逻辑部件,简称ALU,是计算机用来进行数据运算的部件。
数据运算包括算术运算和逻辑运算。
控制器是计算机的指挥系统,计算机就是在控制器的控制下有条不紊地协调工作的.存储器是计算机中具有记忆能力的部件,用来存放程序和数据.输入设备是用来输入程序和数据的部件。
输出设备正好与输入设备相反,是用来输出结果的部件。
2、简述计算机的工作原理。
答:计算机的工作原理可简单地概括为:各种各样的信息,通过输入设备,进入计算机的存储器,然后送到运算器,运算完毕把结果送到存储器存储,最后通过输出设备显示出来。
整个过程由控制器进行控制。
3、计算机软件系统分为哪几类?答:软件内容丰富,种类繁多,通常根据软件用途将其分为两大类:系统软件和应用软件。
系统软件是指管理、监控、维护计算机正常工作和供用户操作使用计算机的软件。
这类软件一般与具体应用无关,是在系统一级上提供的服务。
系统软件主要包括以下两类:一类是面向计算机本身的软件,如操作系统、诊断程序等。
另一类是面向用户的软件,如各种语言处理程序(像BC、VC等)、实用程序、字处理程序等。
在操作系统的基础上运行。
4、什么叫软件?说明软件与硬件之间的相互关系。
答:软件是指计算机程序及有关程序的技术文档资料。
两者中更为重要的是程序,它是计算机进行数据处理的指令集,也是计算机正常工作最重要的因素。
在不太严格的情况下,认为程序就是软件。
硬件与软件是相互依存的,软件依赖于硬件的物质条件,而硬件则需在软件支配下才能有效地工作.在现代,软件技术变得越来越重要,有了软件,用户面对的将不再是物理计算机,而是一台抽象的逻辑计算机,人们可以不必了解计算机本身,可以采用更加方便、更加有效地手段使用计算机。
《C语言程序设计》课后习题参考答案
{
t=t+i;
s=s+t;
}
printf("s=%d\n",s);
}
习题
一、选择题
1.B 2.A 3.A 4.D 5.C 6.B 7.A 8.A
二、填空题
1.按行的顺序依次存放的
2.0
3.4
4.6
三、编程题
1.有一个多项式:Pn(x)=a0xn+a1xn-1+…+an
2.0 1
3.1
4.4
5.-1
三、编程题
1.给出等级成绩′A′、′B′、′C′、′D′、′E′,假设,90分以上为′A′,80~89分为′B′,70~79分为′C′,60~69分为′D′,60分以下为′E′,输入一个等级成绩,问属于哪一个分数段。
参考代码如下:
main()
{
int score,m,n;
scanf("%d",&n);
for(i=0;i<5;i++)
if(n>a[i])
continue;
else
break;
for(j=4;j>=i;j--)
a[j+1]=a[j];
a[i]=n;
for(i=0;i<6;i++)
printf("%d,",a[i]);
printf("\n");
}
4.编写程序,在有序的数列中查找某数,若该数在此数列中,则输出它所在的位置,否则输出no found。
二、填空题
1. BASIC、FORTRAN、AL_GOL60和COBOL
C语言程序设计(第2版)-- 课后题答案
《C语言程序设计能力教程(第二版)》课后作业及实训题参考答案第1章进入C语言程序世界二、1. I love China!printf("we are students.\n")2. 6项目实训题参考答案1.编写一个C程序,输出以下信息:* * * * * * * * * * * * * * * * * * * *I am a student!* * * * * * * * * * * * * * * * * * * *main(){ printf("********************\n");printf(" I am a student!\n ");printf("********************\n");}2.已知立方体的长、宽、高分别是10cm、20cm、15cm,编写程序,求立方体体积。
解:main(){int a,b,c,v;a=10;b=20;c=15;v=a*b*c;printf("v=%d",v);}本程序运行结果为:v=3000第2章编制C程序的基础知识一选择题C B A B A C C二操作题,2,-8,23.000000,2.500000,-8.0000002. ABC DEFGHwhy is 21+35 equal 523.3 14 32 31 24. aa bb cc abcA N项目实训题1.定义一个符号常量M为5和一个变量n值为2,把它们的乘积输出。
#define M 5main(){ int n,c;n=2; c=M*n;printf("%d\n",c); }2.编程求下面算术表达式的值。
(1)x+a%3*(int)(x+y)%2/4,设x=2.5,a=7,y=4.7;(2)(float)(a+b)/2+(int)x%(int)y,设a=2,b=3,x=3.5,y=2.5。
C程序设计课后习题1-3(答案)
C程序设计课后习题第一章习题1.选择题(1)C语言程序的执行总是从(A)开始。
A.main函数的入口 B.编译预处理命令C.源程序的第一个函数D.源程序的第一行语句(2)在C语言的源程序中,主函数的位置(C)。
A.必须在编译预处理命令的后面B.必须在源程序的最后C.任意D.必须在源程序的开头(3)下列变量名中合法的是(C)。
A. B.C.Tom B.3a6bC._6a7bD.$ABC(4)下面两对用户定义标识符哪个可读性更强:(C)A.checkqualityB.salarytotalC.check_quality C.sal_ary_tot_al(5)C程序是由(D)组成。
A.若干个过程B.若干子程序C.一个主程序和若干子程序D.若干函数2.填空题(1)一个函数一般由两部分组成,它们分别是_函数首部______和__函数体____。
(2)编译预处理命令___是_____(填“是”或“不是”)C语言文本的一部分。
(3)一个C语言程序至少应包含一个__主函数或main()__。
(4)C语言的标准输入函数是_scanf()__,标准输出函数是___printf()____。
(5)函数体用___{______符号开始,用_____}______符号结束。
(6)注释的开始和结束标志分别为__/*____和____*/____。
为增强程序的__可读性___,应该为程序写上清晰的注释。
3.编程题:参考本章例题,编写一个C程序,输出以下信息。
***********************The data is ** 2005-03-23 ***********************程序如下:#include <stdio.h>Void main(){printf(“**********************\n”);printf(“*The data is *\n”);printf(“* 2005-03-23 *\n”);printf(“**********************\n”);}第二章习题1.选择题(1)设int m=10 ,则下列表达式的值不等于零的有(A F)。
C语言程序设计习题集及标准答案.doc
基础知识一单项选择题(每题 2 分,共 44 分)1 以下叙述正确的是___。
A C 程序基本组成单位是语句B C程序每一行只能写一个语句C 简单 C语句必须以分号作为结束符D注释语句可以嵌套2一个 C语言程序是从___开始执行的。
A 程序中第一个函数B 名为 main 的函数C 包含文件(头文件)的第一个函数D 程序中的第一个语句3 请选出合法的 C语言赋值语句___。
A a=b=58B i++;C a=58,b=58D k=int(a+b);4 下面标识符中,合法的用户标识符是___。
A 1abcB includeC a-b-c123D char5 以下所列的C语言整形常量中,正确的是___。
A 0x10B 0976C 076LD 01ff6 C 语言中下列运算符的操作数必须为整型的是___。
A %B ++C /D =7 设 a 和 b 均为 int 型变量,则执行以下语句后的输出为___。
int a=20; int b=3; printf( "%d\n",a+=(b%=2));A 20B 21C 0D 238 已知 int i; ,则执行语句i=2.6; 后, i 的值为___。
A 2B 3C 2.6D 不确定9以下合法的字符常量为___。
A 'ab'B '\482 'C ' 'D '\xaf '10 若 y 为 int 型变量,则执行以下语句后,y 的值是___。
y=8; y+=y-=y*y;A 64B –56C –112D –4811以下合法的浮点型常量是___。
A e-3B 1.5e+2.4C 3.14e+2LD 3.14 e +512 设 int数据占用两个字节,float数据占用四个字节,double 数据占用 8 个字节,且已知float a=2;int b=3; 则执行下列语句输出为___。
printf( "%d",sizeof(a*b)+2/5);A 4B 8C 6D 713 设 int 型占 2 个字节,且 int i=-2;, 则语句 printf( "%u",i); 的输出结果为___。
C语言程序设计》课后习题详细答案
《全国计算机等级考试二级教程——C语言程序设计》习题分析与详细解答第一章程序设计基本概念习题分析与解答1.1 【参考答案】EXE1.2 【参考答案】[1].C [2].OBJ [3].EXE1.3 【参考答案】[1]顺序结构[2]选择结构[3]循环结构第二章C程序设计的初步知识习题分析与解答一、选择题2.1 【参考答案】B)2.2 【参考答案】D)2.3 【参考答案】B)2.4 【参考答案】A)2.5 【参考答案】C)2.6 【参考答案】A)2.7 【参考答案】B)2.8 【参考答案】B)2.9 【参考答案】D)2.10 【参考答案】C)2.11 【参考答案】B)2.12 【参考答案】B)2.13 【参考答案】A)二、填空题2.14 【参考答案】[1]11 [2]122.15 【参考答案】[1]4.2 [2]4.22.16 【参考答案】[1]{ [2]} [3]定义[4]执行2.17 【参考答案】[1]关键字[2]用户标识符2.18 【参考答案】[1]int [2]float [3]double2.19 【参考答案】float a1=1.0, a2=1.0;或float a1=1, a2=1;(系统将自动把1转换为1.0)2.20 【参考答案】存储单元2.21 【参考答案】 3.52.22 【参考答案】[1]a*b/c [2]a/c*b [3]b/c*a2.23 【参考答案】把10赋给变量s2.24 【参考答案】[1]位[2]1位二进制数据(0或1)2.25 【参考答案】[1]8 [2]127 [3]01111111 [4]-128 [ 5 ] 10000000 2.26 【参考答案】[1]32767 [2]-32768 [3]10000000000000002.27 【参考答案】[1]十[2]八[3]十六三、上机改错题2.28 【分析与解答】第1行的错误:(1) include是一个程序行,因此在此行的最后不应当有分号(;)。
《C语言程序设计》课后习题答案第四版
《C语言程序设计》课后习题答案第四版C语言程序设计课后习题答案第四版第一章基本概念和语法1.以下是一些基本概念和语法的习题答案:1.1 基本概念1.1.1 C语言是一种高级程序设计语言,最初由贝尔实验室的丹尼斯·里奇(Dennis Ritchie)于1972年开发。
1.1.2 C语言具有跨平台性,能够在多个操作系统上运行。
1.1.3 C语言程序是由函数构成的,每个程序都至少包含一个main函数。
1.2 数据类型和变量1.2.1 C语言中的基本数据类型包括整型(int)、浮点型(float)、字符型(char)和布尔型(bool)等。
1.2.2 变量是用来存储数据的内存位置,它们需要在使用前进行声明。
1.3 运算符和表达式1.3.1 运算符用来执行各种运算操作,例如加减乘除和逻辑运算等。
1.3.2 表达式由变量、常量和运算符组成,用来进行数据计算和逻辑判断。
1.4 控制语句1.4.1 if语句用于条件判断,根据条件的真假来选择执行不同的代码块。
1.4.2 for循环语句用于重复执行某段代码,可以设定循环次数或者循环条件。
1.4.3 switch语句用于多条件选择,根据不同的条件执行相应的代码块。
第二章数组和字符串2.以下是关于数组和字符串的习题答案:2.1 数组2.1.1 数组是一种用来存储多个相同类型数据的数据结构。
2.1.2 数组可以通过索引访问和修改其中的元素,索引从0开始。
2.1.3 数组的长度是固定的,声明时需指定数组的大小。
2.2 字符串2.2.1 字符串是由字符组成的数组,以空字符'\0'结尾。
2.2.2 字符串可以通过数组或者指针方式进行操作。
2.2.3 C语言提供了许多用于处理字符串的函数,例如strcpy、strcmp和strlen等。
第三章函数和指针3.以下是有关函数和指针的习题答案:3.1 函数3.1.1 函数是一段可重复调用的代码块,用于执行特定的任务。
《C语言程序设计》(苏小红) 课后习题参考答案 高等教育出版社
《C语言程序设计》(苏小红) 课后习题参考答案高等教育出版社《C语言程序设计》(苏小红) 课后习题参考答案一、基础知识题1. C语言是一种通用的、面向过程的程序设计语言。
它在20世纪70年代由贝尔实验室的Dennis M. Ritchie开发。
2. C程序的基本组成部分有:预处理指令、函数、变量和语句。
3. C语言的数据类型包括:整型、浮点型、字符型、枚举型和指针型等。
4. C语言的运算符包括:算术运算符、关系运算符、逻辑运算符和位运算符等。
5. C语言的控制语句包括:顺序结构、分支结构和循环结构等。
6. C语言的函数由函数头和函数体组成,其中函数头包括函数的返回类型、函数名和参数列表。
7. C语言的数组是一种存储相同类型数据元素的连续存储区域。
8. C语言中的字符串是由字符组成的字符数组。
二、程序设计题1. 编写一个程序,输入一个整数n,计算并输出1到n之间的所有正整数的平方和。
```c#include<stdio.h>int main() {int n;int sum = 0;printf("请输入一个整数n:");scanf("%d", &n);for (int i = 1; i <= n; i++) {sum += i * i;}printf("1到%d之间的所有正整数的平方和为:%d\n", n, sum);return 0;}```2. 编写一个程序,输入一个正整数n,判断该数是否为素数(只能被1和自身整除)。
```c#include<stdio.h>int isPrime(int n) {if (n <= 1)return 0;for (int i = 2; i <= n / 2; i++) {if (n % i == 0)return 0;}return 1;}int main() {int n;printf("请输入一个正整数n:"); scanf("%d", &n);if (isPrime(n))printf("%d是素数\n", n);elseprintf("%d不是素数\n", n);return 0;}```3. 编写一个程序,输入一个正整数n,输出n的阶乘。
c语言程序设计课后答案.doc
2・2()运行下面的程序,观察其输出,体会i++与++i的差别。
#include <iostrcam.li>int main(){int myAge = 39; // initialize two integersint yourAge = 39;cout « "I am: M « myAge «” years old.\n n;cout « "You are:n « yourAge «” years old\n H;myAge++; // postfix increment++yourAge; // prefix incrementcout «n One year passes...\n H;cout « "I am: M « myAge «” years old.\n n;cout « "You are:n « yourAge «” years old\n H;cout «n Another year passes\n”;cout «M I am: n « myAge++ «H years oldAn”;cout «H Lefs print it againAn11;cout « "I am: M « myAge «” years old.\n n;cout « "You are:n « yourAge «” years old\n H;return 0;)解:程序运行输出:I am 39 years oldYou are 39 years oldOne year passesI am 40 years oldYou are 40 years oldAnother year passesI am 40 years oldYou are 41 years oldLet's print it againI am 41 years oldYou are 41 years old3-4什么叫内联函数?它有哪些特点?解:定义时使用关键字inline的函数叫做内联函数;编译器在编译时在调用处用函数体进行替换,节省了参数传递、控制转移等开销;内联函数体内不能有循坏语句和switch语句;内联函数的定义必须出现在内联函数第一次被调用Z前;対内联函数不能进行异常接口声明;3-5函数原型中的参数名与函数定义中的参数名以及函数调用中的参数名必须一致吗?解:不必-•致,所有的参数是根据位置和类型而不是名字來区分的。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章习题1、对 C 语言来说,下列标示符中哪些是合法的,哪些是不合法的?Total, _debug, Large &Tall, Counter1, begin_答:合法的:_debug、 Counter1 、 begin_ 。
不合法的: Total 、 Large & Tall 。
2、改写节中的流程图,求1—100 中能被 6 整除的所有整数的和。
Sum=0,i=1I<=100真假I能被 6整除?sum=sum+ii=i+1打印 sum3、改写节中的程序,求1—100中能被6整除的所有整数的和,并在编程环境中验证该程序的运行结果。
答:程序为:#include<>int main(void){int i,sum=0;for(i=1;i<=100;i++)if(i%6==0)sum=sum+i;printf("sum=%d\n",sum);return 0;}4、对于给定的整数n( n>1),请设计一个流程图判别n 是否为一个素数(只能被 1 和自己整除的整数),并分析该流程图中哪些是顺序结构、哪些是分支结构和循环结构。
开始输入 ni=2r=n/i 的余真r=0 ?假i=i+1 输出 n“不是素数”假i>=(n-1真输出 n“是素数”结束开始输入 ni=2r=n/i的余真r=0 ?假i=i+1假i>=(n-1真输出 n“是素数”结束输出 n “不是素数”第二章作业1.编写程序,输入两个整数num和 num2,计算并输出她们的和、差、积、商。
答:程序:#include<>void main(){int num1,num2,y1,y2,y3,y5;double y4;printf("请输入两个数:num1,num2\n");scanf("%d%d",&num1,&num2);y1=num1+num2;y2=num1-num2;y3=num1*num2;y4=num1*num2;y5=num1%num2;printf("num1,num2和 y1=%d\nnum1,num2 差 y2=%d\nnum1,num2 积 y3=%d\nnum1,num2 商 y4=%lf\nnum1,num2 余 y5=%d\n",y1,y2,y3,y4,y5);}2.为了倡导居民节约用电,某省电力公司执行“阶梯电价”,安装一户一表的居民用户电价分为两个“阶梯” :月用电量50 千瓦时以内的,电价为元/ 千瓦时;超出50 千瓦时的用电量,电价上调元/ 千瓦时。
编写程序,输入用户的月用电量(千瓦时),计算并输出该用户应支付的电费(元)。
答:程序:#include<>void main(){double x,y;printf("请输入月用电量:x\n");scanf("%lf",&x);if(x<=50){y=*x;printf("电费 y=%lf\n",y);}else {y=*x;printf("应支付电费y=%lf\n",y);}}3.编写程序,输入实数x 和正整数 n,计算 x n,, 不允许调用pow()函数求幂。
答:程序:#include<>void main(){double x,power;int i,n;printf("请输入: x,n\n");scanf("%lf%d",&x,&n);power=;for(i=1;i<=n;i++)power=power*x;printf("power( x,n ) =%lf\n",power);}4.编写程序,输入两个正整数m和 n,求∑( i 2+1/i )( i 从 m到 n。
)答:程序:#include<>void main(){int i,m,n;double sum;sum=0;printf("input:m,n\n");scanf("%d%d",&m,&n);for(i=m;i<=n;i++)sum=sum+(i*i+i);printf("sum=%lf\n",sum);}5.编写程序,输入一个正整数n,计算 1-2/3+3/5-4/7+5/9-6/11+的前n项之和。
答:程序:#include<>void main(){int i,n;double sum,item,flag;flag=1;sum=0;printf("input:n\n");scanf("%d",&n);for(i=1;i<=n;i++){item=(flag*i)/(2*i-1);flag=-flag;sum=sum+item;}printf("sum=%lf\n",sum);}6.某用户为购房办理商业贷款,选择了按月等额本息还款法,计算公式如下,在贷款本金(l oan )和月利率( rate )一定的情况下,住房贷款的月还款( money)取决于还款月数( month)。
客户打算在 5—30 年的范围内选择还清贷款的年限,想得到一张“还款年限—月还款额表”以供参考。
编写程序,输入贷款本金 loan 和月利率 rate ,输出“还款年限—月还款额表”,还款年限的范围是 5— 30 年,输出时分别精确到年和元。
Money=loan*rate(1+rate)month/[(1+rate)month-1]答:程序:#include<>#include<>void main(){int lower,upper,month,year,loan;double money,rate;lower=5;upper=30;printf("请输入贷款本金:loan\n");scanf("%d",&loan);printf("请输入月利率:rate\n");scanf("%lf",&rate);printf("还款年限 \t月还款额\n");for(year=lower;year<=upper;year++){month=year*12;money=(loan*rate*pow((1+rate),month))/(pow((1+rate),month)-1);printf("%d\t\t%lf\n",year,money);}}7.编写程序,输入一个正整数n,求∑ 2i(i 从 1 到 n),可调用pow()函数求幂。
答:程序:#include<>#include<>void main(){int i,n;double sum,item;sum=0;printf("input:n\n");scanf("%d",&n);for(i=0;i<=n;i++){item=pow(2,i);sum=sum+item;}printf("sum=%lf\n",sum);}8.编写程序,输入一个正整数n,求 e=∑ i! (i 从 0 到 n)。
要求定义和调用函数fact(n)计算 n! ,函数类型是double.答:程序:#include<>double fact(int n);void main(){int i,n;double sum;sum=0;printf("input:n\n");scanf("%d",&n);for(i=0;i<=n;i++){sum=sum+fact(i);}printf("sun=%lf\n",sum);}double fact(int n){int i;double product;product=;for(i=1;i<=n;i++){product=product*i;}return product;}第三章作业1.#include<>#include<>void main(){int a,b,c;double s,area,perimeter;printf("请输入三角形三条边:a,b,c\n");scanf("%d%d%d",&a,&b,&c);if(a+b>c&&a+c>b&&b+c>a){perimeter=a+b+c;s=(a+b+c)/;area=sqrt(s*(s-a)*(s-b)*(s-c));printf("三角形的周长perimeter=%.2lf\n三角形的面积area=%.2lf\n",perimeter,area);}}2、#include<>#include<>void main(){double salary,tax,rate;printf("请输入职工的月薪:salary\n");scanf("%lf",&salary);if(salary<=850) rate=0;else if(salary<=1350) rate=5;else if(salary<=2850) rate=10;else if(salary<=5850) rate=15;else rate=20;tax=rate*(salary-850)/100;printf("职工应缴个人所得税tax=%.2lf\n",tax);}3、#include<>void main(){double m,n,y;printf(" 请输入行驶里程 ( 公里 ) :m\n 等待时间 ( 分钟 ) : n\n");scanf("%lf%lf",&m,&n);if((m+n/<=3) y=10;else if((m+n/<=10) y=2*(m+n/;else y=2*10+3*(m+n/;;printf("乘客应付车费y=%d\n",(int)((y*10+/);}4、#include<>void main(){int i,n,A,B,C,D,E;double score,total;printf("请输入一个数n: \n");scanf("%d",&n);total=0;A=0;B=0;C=0;D=0;E=0;for(i=1;i<=n;i++){printf("请输入第 #%d个学生成绩:\n",i);scanf("%lf",&score);total=total+score;if(score>=90)A++;else if(score>=80)B++;else if(score>=70)C++;else if(score>=60)D++;elseE++;}printf("平均成绩 =%lf\n",total/n);printf("等级成绩个数:\nA=%d\nB=%d\nC=%d\nD=%d\nE=%d\n",A,B,C,D,E); }5、#include<>void main(){int year;printf("21世纪所有的闰年:\n");for(year=2000;year<3000;year++)if(year%4==0&&year%100!=0||year%400==0)printf("%d\n",year);}第四章作业2、#include""#include""double fact(int n);void main(){int i,n;double x,s;printf("请输入一个实数x:\n");scanf("%lf",&x);s=0;i=1;while((pow(x,i)/fact(i))>={s=pow(x,i)*fact(i)+s;i++;}printf("s=%.2lf\n",s);}double fact(int n){int i;double result;result=1;for(i=1;i<=n;i++)result=result*i;return result;}3、#include""int main(void){int x,a,count,sum;printf("请输入一个整数x:\n");scanf("%d",&x);sum=0;count=0;if(x<0) x=-x;do{a=x%10;sum=sum+a;x=x/10;count++;}while(x!=0);printf("位数 =%d\n",count);printf("各个位数之和为:%d\n",sum);return 0;}5、#include""void main(){int a,n,i=1,s=0,t=0;printf("请输入两个正整数a,n=:\n");scanf("%d%d",&a,&n);while(i<=n){t=t+a;s=s+t;a=a*10;++i;}printf("a+aa+aaa++aa a=%d \n",s);}7、#include""void main(){int i,j,k,l,n;printf("1-10000之间的水仙花数有:\n");for(n=10;n<10000;n++){i=n/1000;j=n/100%10;k=n/10%10;l=n%10;if(i*1000+j*100+k*10+l==i*i*i+j*j*j+k*k*k+l*l*l){printf("%-5d",n);}}printf("\n");}9、#include""#include""void main(){int i,n,m,j,k;i=0;printf("请输入一个多位整数:\n");scanf("%d",&n);k=n;while(k!=0){i++;k=k/10;}k=n;m=pow(10,i-1);printf("逐位输出: %d",n/m%10);printf(",");for(j=m/10;j>0;j=j/10){n=k/j;printf("%d",n%10);if(j!=1)printf(",");}}11、#include""void main(){int p,r,n,m,temp;printf("请输入两个正整数:\n");scanf("%d%d",&n,&m);if(n<m){temp=n;n=m;m=temp;}p=n*m;while(m!=0){r=n%m;n=m;m=r;}printf("最大公约数为:%d\n",n);printf("最小公倍数为:%d\n",p/n); }13、#include""void main(){int i,j;for(i=0;i<=3;i++){for(j=0;j<=2-i;j++)printf(" ");for(j=0;j<=2*i;j++)printf("*");printf("\n");}for(i=0;i<=2;i++){for(j=0;j<=i;j++)printf(" ");for(j=0;j<=4-2*i;j++)printf("*");printf("\n");}}第五章1.#include<>#include <>long fac(int n,int a){long sum;if(n==1)sum=a;elsesum=(long)(pow(10,n-1)*a)+fac(n-1,a);return(sum);}main(){int a,n,i;long temp,sum=0;printf("请输入一个数a,n\n");scanf("%d%d",&a,&n);for(i=1;i<=n;i++){temp=fac(i,a);sum+=temp;}printf("它们的和是 =%ld",sum);return 0;}2.#include<>int countdight(int number,int dight);int main(void){int number;printf("输入一个数 :");scanf("%d",&number);countdight(number,2);return 0;}countdight(int number,int dight){int a,count;count=0;while(number!=0){a=number%10;number=number/10;if(a==dight)count++;}printf("%d\n",count);return count;}3.#include<>int fib(int n);int main(void){int m,n,num1;num1=1;printf("请输入两个正整数m和 n(m>=1,n<=10000)\n");scanf("%d%d",&m,&n);if(num1>=m&&num1<=n)fib(n);return 0;}int fib(int n){int i,x1,x2,x,t;x1=1;x2=1;for(i=0;i<n;i++){x=x1+x2;printf("%5d",x);t=x;x1=x2;x2=t;}printf("\n");return x;}5.#include<>void is(int num);int main(void){int n,m,num1;num1=1;printf("输入两个数m和 n(m>=1,n<=1000)\n");scanf("%d%d",&m,&n);if(num1>=m&&num1<=n)is(num1);return 0;}void is(int num){int i,j,k;for(num=1;num<1000;num++){i=num/100;j=num/10%10;k=num%10;if(i*100+j*10+k*1==i*i*i+j*j*j+k*k*k)printf("%5d",num);}printf("\n");}6.#include<>int reverse(int number);int main(void){int x;printf("请输入一个正整数:\n");scanf("%d",&x);reverse(x);return 0;}int reverse(int number){while(number!=0){printf("%d",number%10);number=number/10;}printf("\n");return number;}第七章作业1.#include<>void main(){int i,j=0,k=0,n,p,q,max,min;int a[10];printf("请输入 n(1<n<10) 的值 : \n");scanf("%d",&n);printf("请输入 %d个数 : \n",n);for(i=0;i<n;i++){scanf("%d",&a[i]);min=a[0];max=a[9];if(a[i]<min){min=a[i];k=i;}if(a[i]>max){max=a[i];j=i;}}p=a[9];a[9]=a[j];a[j]=p;q=a[0];a[0]=a[k];a[k]=q;for(i=0;i<n;i++){printf("%8d",a[i]);printf("\n");}4.#include<>int main(void){int m,n,i,j,sum;int a[6][6],x[80];printf("请输入 m,n(1<=m,n<=6) 的值 : \n");scanf("%d%d",&m,&n);printf("请输入 %d个数 : \n",m*n);for(i=0;i<m;i++)for(j=0;i<n;j++)scanf("%d",&a[i][j]);for(i=0;i<m;i++){for(j=0;j<n;j++)printf("%4d",a[i][j]);printf("\n");}for(i=0;i<m;i++){sum=0;for(j=0;j<n;j++)sum=sum+a[i][j];x[i]=sum;}for(i=0;i<m;i++)printf("%d\n",x[i]);return 0;}5.#include<>void main(){int a[3][3],max,max1,max2,i,j,flag=1;printf("请输入 9 个数 : \n");for(i=0;i<=2;i++)for(j=0;j<=2;j++)scanf("%d",&a[i][j]);for(i=0;i<=2;i++){max=a[i][0];for(j=0;j<=2;j++){if(a[i][j]>max){max=a[i][j];max1=j;}}for(max2=0;max2<=2;max2++){if(max>a[max1][max2]){flag=0;break;}}if(flag==1) printf("鞍点是%d\n",a[max2][max1]);if(flag==0) printf("no number\n");flag=1;}}8.#include<>#include<>int main(void){int i,n;char s[80];printf("请输入 n(n<80) 的值 : \n");scanf("%d",&n);: \n",n);printf("请输入 %d个字符for(i=0;i<n;i++)scanf("%s",s);for(i=0;s[i]!='\0';i++){if(s[i]>='A'&&s[i]<='Z')s[i]=155-s[i];}for(i=0;s[i]!='\0';i++)putchar(s[i]);printf("\n");return 0;}#include<>#include<>int main(void){int i, n; char f,s[80];printf("Enter a string: "); /* 输入字符串*/i = 0;while((s[i] = getchar( )) != '\n')i++;s[i] = '\0';n = 0;for(i = 0; s[i] != '\0'; i++){if(s[i] <= 7f&& s[i] >= 20)s[i]=s[i++];elsebreak;}for(i = 0; s[i] != '\0'; i++)putchar(s[i]);return 0;}第八章作业1.#include<>int main(void){char ch;int a[10];int i,j,temp;printf("请输入 10 个整数 :\n");for(i=0;i<10;i++)scanf("%d",&a[i]);printf("请输入 A 或 D:");scanf(" %c",&ch);if(ch=='A'){for(i=0;i<9;i++){for(j=i+1;j<10;j++){if(a[i]>a[j]){temp=a[i];a[i]=a[j];a[j]=temp;}}}for(i=0;i<10;i++){printf("%d\n",a[i]);}}else if(ch=='D'){for(i=0;i<9;i++){for(j=i+1;j<10;j++){if(a[i]<a[j]){temp=a[i];a[i]=a[j];a[j]=temp;}}}for(i=0;i<10;i++){printf("%d\n",a[i]);}}return 0;}5.#include<>#include<>void mcopy(char *s,int m);int main(void){int i,m,l;char str[100];printf("请输入您要输入的字符串:");gets(str);printf(" 您将从原字符串的第 m位复制新字符串,请输入 m:\n");scanf("%d",&m);printf("复制后,新的字符串为:");mcopy(str,m);return 0;}void mcopy(char *s,int m){printf("%s\n",s+m-1);}11.#include<>#include<>void fushu(char *p);int main(void){char str[80];printf("请输入一个英语名词单词:");scanf("%s",str);fushu(str);puts(str);return 0;}void fushu(char *p){int i,l;l=0;for(i=0;*(p+i)!='\0';i++){l++;}if(*(p+l-1)=='y'){*(p+l)='e';*(p+l+1)='s';*(p+l+2)='\0';}elseif((*(p+l-1)=='s')||(*(p+l-1)=='x')||((*(p+l-2)=='c')&&(*(p+l-1)=='h'))||((*(p+ l-2)=='s')&&(*(p+l-1)=='h'))){*(p+l)='e';*(p+l+1)='s';*(p+l+2)='\0';}else if(*(p+l-1)=='o'){*(p+l)='e';*(p+l+1)='s';*(p+l+2)='\0';}else{*(p+l)='s';*(p+l+1)='\0';}}12.#include<>#include<>{int i,j,a,n,sum,avg;int *p;printf("Enter n:");scanf("%d",&n);if((p=(int*)calloc(n,sizeof(int)))==NULL){printf("Not able to allocate memory.\n");exit(1);}printf("请输入 %d个学生的成绩:\n",n);for(i=0;i<n;i++){scanf("%d",p+i);}sum=0;for(i=0;i<n;i++)sum=sum+*(p+i);avg=sum/n;for(i=0;i<n-1;i++){for(j=i+1;j<n;j++){if(*(p+i)>*(p+j)){a=*(p+i);*(p+i)=*(p+j);*(p+j)=a;}}}printf(" printf(" printf(" 学生的平均成绩是学生的最高成绩是学生的最低成绩是:%d\n",avg);:%d\n",*(p+n-1));:%d\n",*p);return 0;}第九章作业1.#include<>struct{int hour,minute,second;}time;{scanf("%d:%d:%d",,,;++;if==60){++;=0;if==60){++;=0;if==24)=0;}}printf("%d:%d:%d",,,;return 0;}2.struct s1{char c1,c2;int n;};struct s2{int n;struct s1 m;};int main(void){printf("\n\t%d\t%d\t%c\n",,,,return 0; }8.#include<>#define N 10struct person{char num[10];char name[20];double jbgz,jj,zc,sfgz;};struct person gz[N];int main(){ int i,index;printf("请输入 %d名工人的基本信息:\n", N);for(i=0;i<N;i++){printf("请输入第 %d名工人的基本信息:\n",i+1);scanf("%s%s%lf%lf%lf",gz[i].num,gz[i].name,&gz[i].jbgz,&gz[i].jj,&gz[i].zc);}printf("%d名工人的基本信息:\n",N);printf("编号\t姓名\t基本工资\t奖金\t支出\t实发工资\n");for(i=0;i<N;i++)printf("%s\t%s\t%.2lf\t\t%.2lf\t%.2lf\t%.2lf\n",gz[i].num,gz[i].name,gz[i].jbgz,gz[i].jj,gz[i].zc,gz[i].sfgz=gz[i].jbgz+gz[i].jj-gz[i].zc);index=0;for(i=0;i<N;i++){if(gz[i].sfgz>gz[index].sfgz)index=i;}printf("实发工资最高的工人: \n姓名:%s\t实发工资:%.2lf\n",gz[index].name,gz[index].sfgz);return 0;}9.#include<>#define N 3struct book{char sm[30];double dj;};struct book xx[N];int main(){ int i,max,min;printf("请输入 %d本书的基本信息:\n", N);for(i=0;i<N;i++){printf("请输入第 %d本书的基本信息:\n",i+1);scanf("%s%lf",xx[i].sm,&xx[i].dj);}min=0;for(i=0;i<N;i++){if(xx[i].dj<xx[min].dj)min=i;}for(i=0;i<N;i++){max=0;if(xx[i].dj>xx[max].dj)max=i;}printf("定价最高的书:\n");printf("\t%s\t%.2lf\n",xx[max].sm,xx[max].dj);printf("定价最低的书:\n");printf("\t%s\t%.2lf\n",xx[min].sm,xx[min].dj);return 0;}第十章作业1.#include""int main(){int n;int fact(int n);printf("请输入一个 3 位数 :n\n");scanf("%d",n);printf("%d",fact(n));return 0;}int fact(int n){int i,a,b,c,count=0;for(i=101;1<=n;i++){a=i%10;b=(i/10)%10;c=i%100;if(a==b||a==c||b==c)count++;}return count;}2.#include <>#include <>double fact(int n,double x);void main(){int n;double result,x;printf("请输入整数n 及 x:");scanf("%d%lf",&n,&x);result=fact(n,x);printf("结果为 :%.4f\n",result);}double fact(int n,double x){if(n==1)return x;elsereturn pow(-1,n-1)*pow(x,n)+fact(n-1,x); }3.# include ""int invert(long m){ printf("%ld", m%10);m = m/10;if (m>0)invert(m) ;}main(){long n;printf("Enter n: ");scanf("%ld", &n);invert(n);printf("\n");}。