c程序设计教程钱能课后答案.doc

合集下载

2023年大学_C++程序设计教程第一版(钱能著)课后习题答案下载

2023年大学_C++程序设计教程第一版(钱能著)课后习题答案下载

2023年C++程序设计教程第一版(钱能著)课后习题答案下载C++程序设计教程第一版(钱能著)课后答案下载作者:钱能著出版社:清华大学出版社出版时间: -9-1字数: 891000页数: 551纸张:胶版纸I S B N : 9787302114642定价:39.50C++程序设计教程第一版(钱能著):内容简介点击此处下载C++程序设计教程第一版(钱能著)课后答案C++程序设计教程第一版(钱能著):基本信息本书在介绍C++面向过程程序设计的语法基础上,重点讲解C++面向对象程序设计的语法内容,同时也讲解了C++系列泛型编程的语法支持,主要内容包括类与对象、继承、多态、容器类、模板、异常处理厦C++标准库。

本书内容比较全面,例题丰富,讲述简明清晰。

书中概念和语法都有丰富的示例讲解,易读易懂,实用性强。

书中全部源程序代码均在Dev-C++下调试通过。

为方便读者学习,我们编写了《C++程序设训教程实验指导及刊题解答》书,可与本书配套使用。

本书可作为高等院校、计算机水平考试培训、并类成人教育的C++程序设计课程教材或参考书,也可作为读者自学使用的参考书。

C++程序设计教程第一版(钱能著):推荐理由本书荣获教育部全国高校优秀教材奖!以C++标准为蓝本,从过程化编程的基本描述,到对象化编程的方法展开,乃至高级编程的实质揭示,形成一条自然流畅的主线,通俗易懂,形象风趣。

本书在内容结构上自成体系,并以独特的描述手法,辐射到计算机专业其他诸课程,体系严谨,结构独特。

本书特色:1、第二版全方位改版,代码全部以标准C++重写,风格独特,极具模仿价值;文字诙谐生动,通俗易懂。

2、自成体系,结构独特,整体关联,辐射计算机各门课程。

3、引领读者由欣赏书中的初级精彩到享受国外经典名著的`内在精彩。

4、观点鲜明,客观褒贬C++,对术语的见解独到。

5、C++内部特性和抽象编程并重,强化编程实践,以实际编程能力衡量计算机水平。

第一部分为程序设计基础,分四章,包括概述,基本编程语句,数据类型和计算表达。

c语言程序设计教程第二版课后习题答案

c语言程序设计教程第二版课后习题答案

c语言程序设计教程第二版课后习题答案【篇一:c语言程序设计教程_李含光_郑关胜_清华大学出版社习题答案习题答案[完美打印版]】1.单项选择题(1)a (2)c(3)d (4)c (5)b 2.填空题(1)函数(2)主函数(main)(3)printf() , scanf()第2章习题参考答案1.单项选择题1-5 cbccc 6-10 cdcdc 11-13 dbb 2.填空题(1)1(2)26 (3)6 , 4 , 2 (4)10 , 6(5)3.000000 (6)双精度(double)(7)9 (8)字母,数字,下划线(9)13.700000 (10)11(11)((m/10)%10)*100+(m/100)*10+m%10(12)0 (13)10 ,9 ,11(15)(x0y0)||(x0z0)||(y0||z0)(16)double (17)x==0(18)sqrt(fabs(a-b))/(3*(a+b))(19)sqrt((x*x+y*y)/(a+b))第3章习题参考答案1.单项选择题1-5 cccdd 6-10 bcdbc11-15 bcbbb16 a 2.填空题(1)用;表示结束(2){ }(3)y=x0?1:x==0?0:-1(4)y%4==0y%100!=0||y%400==0(5)上面未配对(6)default 标号(7)while , do while , for(8)do while(9)本次(10)本层 3.阅读程序,指出结果(1)yes(2)*(3)abother(4)28 70(5)2,0(6)8(7)36 (8)1(9)3,1,-1,3,1,-1(10)a=12 ,y=12(11)i=6,k=4 (12)1,-2 4.程序填空(1)x:y , u:z(2)m=n , m!=0,m=m/10(3)teps , t*n/(2*n+1) , printf(“%lf\n”,2*s) (4)m%5==0 ,printf(“%d\n”,k) (5)cx=getchar() , cx!=front , cx(6)double s=0, 1.0/k , %lf (7)s=0 , sgmin, 5.编程题(1). #include stdio.h int main() {double x,y; scanf(%lf,x); if(x1) y=x;else if(x=1.0x10) y=2*x-11; elsey=3*x-11;printf(%lf\n,y); return 0; } (2).#include stdio.h int main() {double x,y,z,min;scanf(%lf%lf%lf,x,y,z); if(xy) min=y; else min=x; if(minz)min=z;printf(min=%lf\n,min); return 0; } (3).#include stdio.h int main() {int y,m,d,flag,s=0,w,i;scanf(%d%d%d,y,m,d);flag=(y%4==0y%100!=0||y%400==0);w=((y-1)*365+(y-1)/4-(y-1)/100+(y-1)/400)%7;for(i=1;i=m;i++) {switch(i) {case 1:s=d;break; case 2:s=31+d;break; case 3:s=59+d;break; case 4:s=90+d;break; case 5:s=120+d;break; case6:s=151+d;break; case 7:s=181+d;break; case8:s=212+d;break; case 9:s=243+d;break; case10:s=273+d;break; case 11:s=304+d;break; case12:s=334+d;break;} }s=(w+s)%7; if(s==0)printf(星期日\n); elseprintf(星期%d\n,s); return 0; }(4).#include stdio.h int main() {float p,r;scanf(%f,p); if(p=10) r=p*0.1;else if(p10p=20) r=10*0.1+(p-10)*0.075; else if(p20p=40)r=10*0.1+10*0.075+(p-20)*0.05; else if(p40p=60)r=10*0.1+10*0.075+20*0.05+(p-40)*0.03;else if(p60p=100)r=10*0.1+10*0.075+20*0.05+20*0.03+(p-60)*0.015; else if(p100)r=10*0.1+10*0.075+20*0.05+20*0.03+40*0.015+(p-100)*0.01; printf(%f\n,r); return 0; } (5).#include stdio.h int main() {char c;while((c=getchar())!=\n) {if(c=ac=z) c=c-32; putchar(c);}return 0; } (6).#includestdio.h int main() {int m,k=2;printf(输入一个正整数:\n); scanf(%d,m); while(km) if(m%k==0) {printf(%4d,k); m=m/k; } else k++;printf(%4d\n,m); return 0; } (7).#includestdio.h int main() {int a,n,s=0,p=0,i;scanf(%d %d,n,a); for(i=1;i=n;i++) {p=p*10+a; s=s+p; }printf(%d\n,s); return 0; } (8).#includestdio.h int main(){int i,j,k;for(i=1;i=9;i++) for(j=0;j=9;j++) for(k=0;k=9;k++)printf(%5d,100*i+10*j+k); return 0; }(9).#includestdio.h #includemath.h int main() {float a=-10,b=10,x,f1,f2,f; f1=(((2*a-4)*a+3)*a)-6; f2=(((2*b-4)*b+3)*b)-6; do {x=(a+b)/2;f=(((2*x-4)*x+3)*x)-6; if(f*f10) { b=x; f2=f; } else { a=x;f1=f; }}while(fabs(f)=1e-6); printf(%6.2f\n,x); return 0; }(10).#includestdio.h#includemath.h int main() {int n=2;double eps,t,s=0,x;scanf(%lf %lf,x,eps); t=x; s=t;while(fabs(t)=eps) {t=-t*(2*n-3)*x*x/(2*n-2); s=s+t/(2*n); n++; }printf(%d,%lf\n,n,s); return 0; }(11).#includestdio.h int main() {unsigned long s,t=0,p=1; scanf(%u,s); while(s!=0) {if((s%10)%2!=0) {t=t+(s%10)*p; p=p*10; }s=s/10; }printf(%u\n,t); return 0; }第4章习题参考答案1.单项选择题1-5 dddbd 6-10 badcd 11-14 bdab 2.填空题(1)2(2)嵌套,递归(3)全局变量,局部变量,静态变量,动态变量(4)auto , static , register , extern (5)外部变量(6)编译,运行 3.阅读程序,指出结果(1)15(2)5(3)5,4,3 (4)i=5 i=2 i=2 i=4 i=2(5)求水仙花数(6)-5*5*5(7)30 (8)0 10 1 11 2 124.程序填空(1)float fun(float , float) , x+y,x-y, z+y,z-y (2)x , x*x+1 (3)s=0 , a=a+b 5.编程题(1).while(s!=0) #includestdio.h { unsigned int fun(unsigned int);p=p+s%10; int main() s=s/10; { } unsigned int s; return p; scanf(%u,s); } printf(%u\n,fun(s)); (2). return 0;#includestdio.h } #includestdlib.h unsigned int fun(unsignedint s) #includemath.h { void f1(float,float,float,float); unsigned int p=0; void f2(float,float,float,float);【篇二:《c语言程序设计》课后习题答案(第四版)谭浩强】t>1.1什么是计算机程序11.2什么是计算机语言11.3c语言的发展及其特点31.4最简单的c语言程序51.4.1最简单的c语言程序举例61.4.2c语言程序的结构101.5运行c程序的步骤与方法121.6程序设计的任务141-5 #include stdio.hint main ( ){ printf (**************************\n\n);printf( very good!\n\n);printf (**************************\n);return 0;}1-6#include stdio.hint main(){int a,b,c,max;printf(please input a,b,c:\n);scanf(%d,%d,%d,a,b,c);max=a;if (maxb)max=b;if (maxc)max=c;printf(the largest number is %d\n,max);return 0;}第2章算法——程序的灵魂162.1什么是算法162.2简单的算法举例172.3算法的特性212.4怎样表示一个算法222.4.1用自然语言表示算法222.4.2用流程图表示算法222.4.3三种基本结构和改进的流程图262.4.4用n?s流程图表示算法282.4.5用伪代码表示算法312.4.6用计算机语言表示算法322.5结构化程序设计方法34习题36第章最简单的c程序设计——顺序程序设计37 3.1顺序程序设计举例373.2数据的表现形式及其运算393.2.1常量和变量393.2.2数据类型423.2.3整型数据443.2.4字符型数据473.2.5浮点型数据493.2.6怎样确定常量的类型513.2.7运算符和表达式523.3c语句573.3.1c语句的作用和分类573.3.2最基本的语句——赋值语句593.4数据的输入输出653.4.1输入输出举例653.4.2有关数据输入输出的概念673.4.3用printf函数输出数据683.4.4用scanf函数输入数据753.4.5字符数据的输入输出78习题823-1 #include stdio.h#include math.hint main(){float p,r,n;r=0.1;n=10;p=pow(1+r,n);printf(p=%f\n,p);return 0;}3-2-1#include stdio.h#include math.hint main(){float r5,r3,r2,r1,r0,p,p1,p2,p3,p4,p5;p=1000;r5=0.0585;r3=0.054;r2=0.0468;r1=0.0414;r0=0.0072;p1=p*((1+r5)*5);// 一次存5年期p2=p*(1+2*r2)*(1+3*r3); // 先存2年期,到期后将本息再存3年期 p3=p*(1+3*r3)*(1+2*r2); // 先存3年期,到期后将本息再存2年期p4=p*pow(1+r1,5); // 存1年期,到期后将本息存再存1年期,连续存5次 p5=p*pow(1+r0/4,4*5); // 存活期存款。

c语言程序设计教程第二版课后答案

c语言程序设计教程第二版课后答案

c语言程序设计教程第二版课后答案【篇一:c语言程序设计(第2版)-- 课后题答案】p> 参考答案第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 is21+35equal 523.34214. aaa项目实训题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。

(1)main(){ int a=7;float x=2.5,y=4.7;printf(%f\n,x+a%3*(int)(x+y)%2/4);}(2)main(){ int a=2,b=3;float x=3.5,y=2.5;printf(%f\n,(float)(a+b)/2+(int)x%(int)y);}第三章顺序结构程序设计一选择题a c d c c二操作题1. x=3,a=2,b=32. z=12.7000002 13 3 2 bb cc abc n3. 1 2 1a2 1 2三.编程题编程题解:#include stdio.hmain(){float sj,gz,yfgz;printf(time,salary:);scanf(%f,%f,sj,gz);yfgz=sj*gz*0.9;printf(total salary:%f\n,yfgz);}本程序运行结果为:time,salary:4,3crtotal salary:10.8000002.编写一个程序求出任意一个输入字符的ascii码解:#include stdio.hmain(){char c;printf(input a string:);scanf(%c,c);printf(%c ascii is %d\n,c,c);}本程序运行结果为:input a string:acra ascii is 973、编写一个程序用于水果店售货员算帐:已知苹果每斤2.50元,鸭梨每斤1.80元,香蕉每斤2元,橘子每斤1.6元,要求输入各类水果的重量,打印出应付3解:main(){float p,y,x,j,ys,g,fk;printf(apple,pear,banana,orange(weight)=);scanf(%f,%f,%f,%f,p,y,x,j);ys=2.5*p+1.8*y+2*x+1.6*j;printf(fu kuan=);scanf(%f,g);fk=g-ys;printf(result:\n);printf(fukuan=%6.2fyuan\nshoukuan=%6.2fyuan\nzhaohui=%6. 2fyuan\n,g,ys,fk);}本程序运行结果为:apple,pear,banana,orange(weight)=1,2,3,4fu kuan=100result:fukuan=100.00yuanshoukuan= 18.50yuanzhaohui= 81.50yuan项目实训1.假设银行定期存款的年利率rate为2.25%,并已知存款期为n 年,存款本金为capital元,试编程计算n年后可得到本利之和deposit。

C程序设计教程修订版设计思想与实现习题解答钱能

C程序设计教程修订版设计思想与实现习题解答钱能

二2.1#include <iostream.h>void main(){ //本题原考虑在 16 位机器上实验目前多为 32 位机器故已过时。

int a = 42486; cout <<oct <<a <<endl <<hex <<a <<endl; unsigned b = 42486;cout << dec <<(signed)b <<endl;}2.2#include<iostream.h>#include<iomanip.h>const double pi =3.1415926; voidmain(){double radius1, radius2;cout <<"please input twonumbers:\n";cin >>radius1 >>radius2;cout <<setw(10) <<pi <<setw(10)<<radius1 <<setw(10)<<(pi*radius1*radius1) <<endl<<setw(10) <<pi <<setw(10)<<radius2<<setw(10) <<(pi*radius2*radius2) <<endl; }2.3#include<iostream.h>#include<iomanip.h> constdouble e =2.718281828; voidmain(){cout <<setprecision(10) <<e <<endl<<setiosflags(ios::fixed) <<setprecision(8) <<e <<endl<<setiosflags(ios::scientific) <<e <<endl;}2.4#include <iostream.h>void main(){cout <<"\"How many students here?\"\n"<<"\"500\"\n";}2.5#include <iostream.h>void main(){cout <<"size of char " <<sizeof(char) <<"byte\n" <<"size of unsigned char "<<sizeof(unsigned char) <<" byte\n"<<"size of signed char " <<sizeof(signedchar) <<" byte\n" <<"size of int "<<sizeof(int) <<" byte\n"<<"size of unsigned " <<sizeof(unsigned)<<" byte\n" <<"size of signed "<<sizeof(signed) <<" byte\n" <<"size of short " <<sizeof(short) <<" byte\n"<<"size of unsigned short "<<sizeof(unsigned short) <<" byte\n"<<"size of long " <<sizeof(long) <<" byte\n"<<"size of signed long " <<sizeof(signedlong) <<" byte\n"<<"size of unsigned long "<<sizeof(unsigned long) <<" byte\n" <<"sizeof float " <<sizeof(float) <<" byte\n"<<"size of double " <<sizeof(double) <<"byte\n"<<"size of long double " <<sizeof(longdouble) <<" byte\n";}2.6 1) please input 3sides of one triangle:6,6,8a= 6.00,b= 6.00,c= 8.00area of triangle is 17.888542)该程序计算三角形的面积前后分为三部分输入处理输出。

《C语言程序设计教程》第三版课后习题参考答案

《C语言程序设计教程》第三版课后习题参考答案

《C语言程序设计教程》第三版课后习题参考答案C语言程序设计教程第三版课后习题参考答案第一章:C语言概述1.1 C语言的特点答案:C语言是一种通用的、面向过程的程序设计语言,具有高效、简洁、灵活等特点。

它提供了丰富的程序设计元素和功能,适用于各种不同的应用领域。

1.2 C语言程序的基本结构答案:C语言程序由预处理指令、函数声明、函数定义、变量声明和语句组成。

其中,预处理指令用来引入头文件或定义宏,函数声明用来声明函数的名称和参数,函数定义用来实现函数的功能,变量声明用来声明变量的类型和名称,语句用来表达具体的计算过程。

1.3 C语言的数据类型答案:C语言提供了多种数据类型,包括基本类型(整型、浮点型、字符型等)和派生类型(数组、指针、结构体等)。

每种数据类型在内存中占据一定的存储空间,并具有特定的取值范围和操作规则。

1.4 C语言的运算符和表达式答案:C语言支持各种运算符和表达式,例如算术运算符(+、-、*、/等)、关系运算符(>、<、==等)、逻辑运算符(&&、||、!等)等。

通过运算符和表达式可以进行各种数值计算和逻辑判断。

第二章:基本数据类型与运算2.1 整型数据类型答案:C语言提供了不同长度的整型数据类型,包括有符号整型(int、long等)和无符号整型(unsigned int、unsigned long等)。

整型数据类型可以表示整数值,并具有不同的取值范围。

2.2 浮点型数据类型答案:C语言提供了浮点型数据类型(float、double等),用来表示带小数部分的实数值。

浮点型数据可以表示较大或较小的数值,并具有一定的精度。

2.3 字符型数据类型答案:C语言提供了字符型数据类型(char),用来表示单个字符。

字符型数据可以用于表示各种字符(包括字母、数字、符号等)。

2.4 布尔型数据类型答案:C语言不直接支持布尔型数据类型,但可以使用整型数据类型来表示布尔值(0表示假、非零表示真)。

c课后题答案 钱能第二版

c课后题答案 钱能第二版

学习资料收集于网络,仅供参考1-1#include<iostream>using namespace std;void main(){cout<<I'm a student<<endl;}1-2#include<iostream>using namespace std;int i,j;void main(){for(i=1;i<=4;i++){for(j=1;j<=4-i;j++){cout<< ;}for(j=1;j<=2*i-1;j++){cout<<*;}cout<<endl<<endl; }for(i=1;i<=3;i++){for(j=1;j<=i;j++){cout<< ;学习资料.学习资料收集于网络,仅供参考for(j=1;j<=(7-2*i);j++){cout<<*;}cout<<endl<<endl; }}2-13#include<iostream>using namespace std;int i,j;void main(){for(i=1;i<=9;i++)cout<<i<<\ ;for(i=1;i<=9;i++)cout<<-<<\ ;cout<<endl<<endl;for(i=1;i<=9;i++) // 下三角形式{for(j=1;j<=i;j++)//{cout<<i*j<<\ ;//}cout<<endl;}cout<<endl<<endl;学习资料.学习资料收集于网络,仅供参考for(i=1;i<=9;i++) //shang三角形式cout<<\ <<i;for(i=0;i<9;i++)cout<<\ <<-;cout<<endl<<endl;for (i=1;i<=9;i++){for(j=1;j<=i;j++)cout<<\ ;for(j=i;j<=9;j++)//{cout<<i*j<<\ ;//}cout<<endl; }}3-3#include<iostream>#include<vector>#include<cmath>using namespace std;void main(){int a[11]={6,3,7,1,4,8,2,9,11,5};vector<int> ve(a,a+10);int he=0;int sum=0;学习资料.学习资料收集于网络,仅供参考float average;float s;for(int i=0;i<ve.size();i++){sum+=ve[i];}average=sum/ve.size();for( i=0;i<ve.size();i++){he+=(ve[i]-average)*(ve[i]-average);}s=sqrt(he/ve.size());cout<<s=<<s<<endl;}4-6#include<iostream>#include<fstream>#include<sstream>using namespace std;void main(){int a=0;ifstream in(D:\\aaa.txt);for(string s;getline(in,s);)for(istringstream sin(s);sin>>a;){if((a%3==0)&&(a%5==0)&&(a%7==0))挠畯?愼?能同时被3 5 7整除<<endl;else if((a%3==0)&&(a%5)&&(a%7)) 学习资料.学习资料收集于网络,仅供参考挠畯?愼?能被3整除不能被5整除也不能被7整除<<endl; else if((a%3)&&(a%5==0)&&(a%7))挠畯?愼?能被5整除不能被3整除也不能被7整除<<endl;else if((a%3)&&(a%5)&&(a%7==0))?挠畯?愼?能被7整除不能被3整除也不能被5整除<<endl;else if((a%3)&&(a%5)&&(a%7))??潣瑵??尼不能被3 5 7 任意一个整除<<endl;}}4-8#include<iostream>using namespace std;void transform(int );int n;void main() //十进制数转换为二进制数{潣瑵?输入要转换的十进制整数:<<endl;int num;cin>>num;transform(num);}void transform(int n){if (n<2)cout<<n;else if(n>=2){学习资料.学习资料收集于网络,仅供参考transform(n/2);cout<<n%2;}5-5#include<iostream>#include<fstream>#include<sstream>#include<vector>#include<algorithm>using namespace std;typedef vector<vector<int> > vii;//---------------------------------------------------------------vector<int> read(){vector<int>a;ifstream in(D:\\aaa.txt);for(string s;getline(in,s);){int c;for(istringstream sin(s);sin>>c;)a.push_back (c);}if(a.empty())cout<<NO ELement!<<endl;else<<endl; 从磁盘中读取数据输出结果是:潣瑵?for(int i=0;i<a.size();i++) 学习资料.学习资料收集于网络,仅供参考cout<<a[i]<< ; //输出读取的数据cout<<endl<<endl;return a;}//---------------------------------------------------------------int bit_twice_sum(int a){int sum=0;for(int x=a;x;x/=10)sum+=(x_x0010_)*(x_x0010_);return sum;}//-----------------------------------------------------------------------bool compare(int sum1,int sum2){return bit_twice_sum(sum1)<bit_twice_sum(sum2);}//----------------------------------------------------------------------- void insert_cout(vector<int>ve){<<endl; 请输入你想插入的数:?潣瑵? int num;cin>>num;ve.push_back(num);sort(ve.begin(),ve.end(),compare);挠畯?攼摮?尼插入数之后,再按各位数字平方之和的大小输出:<<endl;for(int i=0;i<ve.size();i++)cout<<ve[i]<< ;学习资料.学习资料收集于网络,仅供参考cout<<endl;}//-----------------------------------------------------------------------void main(){vector<int>v0=read();sort(v0.begin(),v0.end(),compare);挠畯?攼摮?尼按各位数字平方之和的大小输出:<<endl;for(int i=0;i<v0.size();i++)cout<<v0[i]<< ;cout<<endl;insert_cout(v0);//----------------------------------------------------------------------- 8-1#include<iostream>#include<cmath>using namespace std;//------------------------------------class Point{protected:double x,y; //x y 轴分量public:void set(double ix,double iy)// 设置坐标{x=ix;y=iy;}学习资料.学习资料收集于网络,仅供参考//------------------------------------------double xoffset()//取y轴坐标分量{return x;}//------------------------------------------轴坐标分量double yoffset()//取x{return y;}//----------------------------------------@ 取点的极坐标double angle()//{return (180/3.14159)*atan2(y,x);}//--------------------------------------double radius()//取点的极坐标半径{return sqrt(x*x+y*y);void Point:: add(){x+=5;y+=6;潣瑵?硜尽??攼摮?尼??礼?湥汤※}};void main(){Point p;double x,y;学习资料.学习资料收集于网络,仅供参考cout<<Enter x and y:<<endl;cin>>x>>y;p.set(x,y);潣瑵?慜杮敬尽??湡汧??攼摮?尼慲楤獵尽??慲楤獵?湥汤?硜offset=<<p.xoffset()<<endl<<y offset=<<p.yoffset()<<endl; p.add();}8-3#include<iostream>#include<iomanip>using namespace std;class Date{private:int year,month,day;public:void set(int d,int m,int y);void add();void print();};void Date::set(int d,int m,int y){year=y;month=m;day=d;void Date::add(){day=day+1;<<day<<endl; ??潣瑵?加一天之后日期是:学习资料.学习资料收集于网络,仅供参考}void Date::print(){cout<<setfill('0');cout<<setw(2)<<day<<'/'<<setw(2)<<month<<'/'<<setw(4)<<year<<en dl;//cout<<setfill(' ');}void main(){Date d1,d2;d1.set(10,4,2012);d1.print();d2.set(10,4,2012);d2.add();d2.print();}8-4/**多文件结构*///Time.cpp#includeTime.hvoid Time::set(int h,int m,int s){hour=h;minite=m;学习资料.学习资料收集于网络,仅供参考second=s;}void Time::print(){setfill('0');cout<<setw(2)<<hour<<':'<<setw(2)<<minite<<':'<<setw(2)<<second<<endl; }#includeTime.h//主函数void main(){Time t;t.set(14,47,39);t.print();}9-1#include<iostream>using namespace std;class MyClass{int number;public:MyClass();MyClass(int);~MyClass();void Display();};//--------------------------------------------------MyClass::MyClass(){cout<<Constructing normally.\n;}学习资料.学习资料收集于网络,仅供参考//------------------------------------------------------MyClass::MyClass(int m):number(m){cout<<Constructing with a number:<<number<<endl;}//-----------------------------------------------------void MyClass::Display(){cout<<Display s number:<<number<<endl;}//-----------------------------------------------------------------MyClass ::~MyClass(){cout<<Destructing.\n;}//---------------------------------------------------void main(){MyClass obj1;MyClass obj2(20);obj1.Display();obj2.Display();}//--------------------------------------------------------------- 9-3#include<iostream>using namespace std;//----------------------------class CAT{int *itsAge;public:CAT():itsAge(new int(5)){}~CAT(){delete itsAge;}学习资料.学习资料收集于网络,仅供参考int GetAge() const {return *itsAge;}void SetAge(int age){*itsAge=age;}};//-------------------------------------------void main(){CAT friskey;cout<<\n; cout<<Setting friskey to 6……friskey.SetAge(6);cout<<Creating boots from friskey\n;CAT boot(friskey);cout<<cout<<oot's age: <<boot.GetAge()<<endl; \n; cout<<setting friskey to 7……friskey.SetAge(7);cout<<cout<<oot's age: <<boot.GetAge()<<endl; }学习资料.。

c++程序的设计钱能第二版习题解答(多解法)

c++程序的设计钱能第二版习题解答(多解法)

//============================= //课本第23页1题。

//输出“I am a student."//============================= #include<iostream>using namespace std;//----------------------------- int main(){cout<<"I am a student.\n";return 0;}//============================//============================= //课本第23页2题。

//多行输出*//============================= #include<iostream>using namespace std;//----------------------------- int main(){cout<<" * \n";cout<<" *** \n";cout<<" ***** \n";cout<<"*******"<<endl;cout<<" ***** \n";cout<<" *** \n";cout<<" * \n";return 0;}//============================//============================= //练习二第01题。

//计算级数。

//============================= #include <iostream>#include <cmath>using namespace std;//----------------------------- int main(){double x;cin>>x;double sum = 1;double t = x;int i = 2;while (abs(t) > 1e-8){sum += t;t *= (-1)*x/i;i ++;}cout.precision(8);cout<<fixed<<"x="<<x<<", sum="<<sum<<"\n";return 0;}//============================//=============================//练习二第01题。

《C语言程序设计教程》(第三版)课后习题参考答案

《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、A6、A7、B8、C二、填空题1、主2、C编译系统3、结构化4、程序5、面向对象方法6、.OBJ7、库函数8、直到型循环结构习题三一、单项选择题1、D2、B3、A4、C5、A6、D7、B8、D9、B 10、C 11、A 12、D 13、C 14、B 15、C 16、A17、B 18、C 19、C 20、D 21、A 22、D 23、D 24、D、A25、D 26、A二、填空题1、补码2、10^-138~10^138、15~163、实4、单目运算符、自右向左5、函数调用6、65,89习题四一、单项选择题1、D2、C3、D4、A5、D6、B7、A8、C9、B 10、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、B9、D二、填空题1、1 、02、k!=03、if(x>4||x<-4)printf(“%d”,x);else printf(“error!”);4、if(((x>=1&&x<=10)||(x>=200&&x<=210))&&(x%2!=0))Printf(“%d”,x);5、16、17、10!Right!8、a=09、2,110、0<a<b习题六一、单项选择题1、B2、C3、C4、B5、C6、B7、C8、A二、填空题1、无穷次2、83、204、115、3.66、*#*#*#$7、8 5 28、d=1.0 、k++、k<=n9、!(x<0)、x<amin习题七一、单项选择题1、B2、D3、C4、C5、A6、A7、D8、A二、填空题1、1 2 4 8 16 32 64 128 256 5122、a[age]++、i=18;i<263、break、i==84、a[i]>b[i]、i<3、j<55、b[j]=0、b[j]=a[j][k]习题八一、单项选择题1、B2、C3、C4、A5、A6、A7、C8、D9、D 10、B 11、A 12、C 13、A 14、C 15、B二、填空题1、return 1、return n+sum(n-1)2、return 1、n*facto(n-1)习题九一、单项选择题1、D2、C3、D4、A5、C6、C7、C8、C9、B 10、C 11、A 12、C 13、B 14、A 15、D 16、B17、C 18、A 19、B 20、C二、填空题1、int 、return z2、*p++3、’\0’、++4、p、max<*q、min>*q习题十一、单项选择题1、D2、D3、A4、5、B6、A7、C8、B9、D 10、11、C 12、D 13、D 14、C二、填空题1、34 122、ARRAY a[10],b[10],c[10];3、2 34、ab、cd5、(*b).day、b->day6、adabc defghi mnohi no7、(struct node *)、!=’\n’、p=top;8、p1=p1->next9、(struct list *)、(struct list *)、return (n)习题十一一、单项选择题1、A2、A3、B4、A5、B6、D7、B8、A9、A 10、B 11、B 12、B 13、C 14、C 15、D 16、A17、D二、填空题1、ASCII(文本)、二进制2、pf=fopen(“A:\\zk04\\data\\txfile.dat”,”w”);3、fputc()、fputs()、fscanf()、fread()4、(后两个空)文件结束符、非0值。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

c 程序设计教程钱能课后答案【篇一:c 语言程序设计教程课后习题参考答案】t>课后习题参考答案习题11. (1)编译、链接.exe(2)函数主函数(或main 函数)(3)编辑编译链接2.(1)-(5):ddbbc (6)-(10):abbbc 3.(1)答:c 语言简洁、紧凑,使用方便、灵活; c 语言是高级语言,同时具备了低级语言的特征; c 语言是结构化程序设计语言,具有结构化的程序控制语句; c 语言有各种各样的数据类型; c 语言可移植性好;生成目标代码质量高,程序执行效率高。

(2)编辑、编译、链接、执行(3)一个 c 程序由一或多个函数组成,一函数若干条语句构成,每条语句的末尾必须以分号结束。

(4)标识符,关键字,运算符,分隔符,常量,注释符等4. 从键盘输入一个双精度小数,打印出它的余弦值。

#include stdio.h#include math.h main( ){double x;scanf( “%lf ”, x);printf( “%n l f”, cos(x) );}第2 章1.(1)bde 、acfg(2)d (3) c (4) c2.(1)错(2)错(3)错(4)对(5)错3.(1)a=3,b=-27(2)a=11,b=6,c=6(3)3(4)1 0 1 0 1 1 0(5)-9 9 8(6)1)20 2 )8 3 )70 4 )0 5 )0 6 )0 4. (1)#include stdio.h main( ){double r, h ,v;r = 2.5; h =3.5;v = 3.14*r*r*h;printf( “v=%nl f”, v); }(2)#include stdio.h main( ){char ch;ch = getchar( );printf( “%n c”, ch + 32); }(3)#include stdio.h main( ){printf( “n*”); printf( “*n**”);printf( “***n**”);printf( “******n*”);}(4)#include stdio.h main( ){double x;scanf( “%lf ”, x);printf( “%d , %l n f”, (int)x, x (int)–x );(5)#include stdio.h main( ){double a=3, b=5;double result = (-2 * a + ( 4*a –b )/( 2*a + b ) )/( (a - 4*b)/(a + b) ); printf( “%n l”f , result); }习题31.(1)d(2)ad(3)c(4)b(5)a (6)-(10):bdacb2.(1)3.141593,3.1416,3.142 (2)c=k(3)| 123.46|,|123 |(4)x=1.23,y= 50.00 (5)03.(1)scanf(%f ”, c);改为:scanf( “%f”, c);f = (9/5)*c+32; 改为:f = (9.0/5)*c + 32;printf( 摄“氏温度%f 度相当于华氏温度%f 度”, c, f);改为:printf( 摄“氏温度%f 度相当于华氏温度%f 度”, c, f);(2)补充定义:int h;h = 500/60 改为: h = 500 / 60;m = 500% 60 改为:m = 500%60;printf( “50分0钟是%d 小时%d 分钟, ”h, m)改; 为:printf( “50分0钟是%d 小时%d 分钟”, h, m);4.(1)#includestdio.hmain( ) {char x,y;scanf( “%c%”c, x, y);printf( “%n d”, (x-?0?) + (y-?0?) );(2)#include stdio.hmain( ){char x, y;char tmp;printf( “input two characters: ”);scanf( “%c%”c, x, y);printf( “before swap: x=%c, y=%c n”, x, y);tmp = x;x = y;y = tmp; printf( “after swap: x=%c, y =n%”c, x, y); } (3)#include stdio.h main( ){char ch;ch = getchar( );printf( “%n c”, ch- 32); }第4 章1.(1)-(5):caaca2. (1)bbb(2)aaabbbccc(3)end (4)d=20(5)s=2,t=3(6)first third(7)y=0 y=5 y=10 y=5 3.(1)yz xz xy (2)ch=?a?ch=?z?ch=?a?ch=?z? ch = ch-32(3)x2x=10x-1x=2(4)t=x; x=y; y=t;4.(1)main( ) {int x, y , z, t;scanf( “%d%d%”d, x, y, z); if ( xy ) { t=x; x=y;y=t; }if( x z )【篇二:钱能c++ 程序设计教程(第二版)第三章答案[1] 】p> //3.3.2 —浮点数表示#includeiostream usingnamespace std;int main() {}//3.4.2 —字符操作函数相关#includeiostream usingnamespace std;int main() {} char* s1=hello; char* s2=123; char a[20]; strcpy(a,s1);cout(strcmp(a,s1)==0?:not )equal.endl; coutstrcat(a,s2)endl;coutstrrev(a)endl; coutstrset(a,c)endl;cout(strstr(a,ell)?:not )find.endl; cout(strchr(a,c)?:not )findendl;float f=19.2f; coutfendl; unsigned int* p=reinterpret_castunsigned int*(f); for(int i=31;i=0;i--)cout(*pi1)(i==31||i==23?-:); coutendl;//3.4.3string 函数相关#includeiostream #includestringusing namespace std; int main(){string a,s1=hello,s2=123; a=s1;} cout(a==s1?:not )equal.endl; couta+s2endl; reverse(a.begin(),a.end()); coutaendl; couta.replace (0,9,9,c)endl;cout(a.find(ell)?:not )findendl; cout(a.find(c)?:not )findendl;//3.4.5string 流+文件流#includeiostream#includesstreamusing namespace std; int main(){} ifstream fin(original.txt); for(string s;getline(fin,s);) { } int a,sum=0; for(istringstream sin(s);sina;sum+=a); coutsumendl; //3.5.2--sizeof()#includeiostream usingnamespace std;int main() {} int a[]={1,15,8,3,8,48,2,64,5}; for(inti=0;isizeof(a)/sizeof(a[0]);i++) cout a[i]; coutendl;//3.5.3-- 初始化#includeiostream usingnamespace std;int array1[5]={1,2,3};int array2[5]; intmain(){}//3.5.4 —二维数组#includeiostreamusing namespace std; int main(){int a[2][3]={1,2,3,4,5}; int b[2][3]={{1,2},4}; coutarray1:endl; for(int i=0;isizeof(a)/sizeof(a[0]);i++) { }cout=================================endl; coutarray2:endl; for(int i=0;isizeof(b)/sizeof(b[0]);i++) {cout ; for(int j=0;jsizeof(b[0])/sizeof(b[0][0]);j++) cout ; for(intj=0;jsizeof(a[0])/sizeof(a[0][0]);j++) couta[i][j] ; coutendl; int array3[5]={2}; int array4[5]; coutarray1:; for(inti=0;isizeof(array1)/sizeof(array1[0]);i++) coutarray1[i] ; coutendl; coutarray2:; for(inti=0;isizeof(array2)/sizeof(array2[0]);i++) coutarray2[i] ; coutendl; coutarray3:; for(inti=0;isizeof(array3)/sizeof(array3[0]);i++) coutarray3[i] ; coutendl; coutarray4:; for(int。

相关文档
最新文档