ImageVerifierCode 换一换
格式:DOC , 页数:23 ,大小:185.50KB ,
资源ID:1148111      下载积分:10 积分
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 微信支付   
验证码:   换一换

加入VIP,免费下载资源
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【http://www.wodocx.com/d-1148111.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(习题参考答案.doc)为本站会员(精***)主动上传,沃文网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知沃文网(发送邮件至2622162128@qq.com或直接QQ联系客服),我们立即给予删除!

习题参考答案.doc

1、软件技术基础习题答案(新教材)练习1(p26)1、见教材相关内容2、错误的:yy、a25+36、05693、错误的:int、36A、a+b、c/dab、static、do、class4、(1)5 (2)2 (3)1 (4)0 (5)1 (6)1 (7)9 (8)13 (9)1 (10)2 (11)5 (12)05、选择题(1)D (2)D (3)B、C (4)C (5)C (6)C6、手写心算写出正确结果(如上机只是为了验证)7、(1) #includevoid main()int a; cina; couta*10endl;(2) #includevoid main()int a, b; c

2、inab; coutb? b: a)endl;(3) #includevoid main()float radius; cinradius; coutradius*radius*3.1416endl;(4) #includevoid main()int t=1000; cout“1000s=”t/360“:”t%360/60“:”t%360% 60endl;(5) #includevoid main()int a; cina; couta/100endla%100/10endla%10endl;或者:#include void main()int a,b=985; for(int i=1;i=

3、100;i*=10) a=b/(100/i)%10;coutaendl;练习2(p48)1、见教材相关内容2、手写心算写出正确结果(如上机只是为了验证)3、#includevoid main()int n,y;cinn;coutendl=0?(n0?n+1:0):n*n)endl;return;4、#includevoid main()int i;float s11;coutPlease Enter 0 100endl;for(i=1;isi;for(i=1;i=90)couti Aendl;else if(si=80)couti Bendl;else if(si=60)couti Cendl

4、;else if(si60)couti Dendl;5、#include void main()char ch;cinch;for(;)if(ch=0&ch=9) coutits a number character.=a&ch=z) coutits a small character.=A&ch=Z) coutits a capital character.endl;return; else coutits a other character.endl;return;6、#includevoid main()int i,s=1;float sum=1.0;for(i=3;1.0/i1E-6;

5、i+=2)s*=(-1);sum=sum+(1.0/i)*s;cout4*sumendl;7、斐波纳契数列中的前两个数是0和1,从第三个数开始,每个数等于前两个数之和,即0、1、1、2、3、5、8、13、.等。编程序求斐波纳契数列的前n个数。(自己加换行)(1)一般算法:/Compute the fibrachi squence#includevoid main()long n,middle,a50=0,1;coutn;for(int i=0;in-2;i+)middle=ai+ai+1;coutmiddle ;ai+2=middle;coutendl;return;(2)递归算法:#incl

6、udelong fib(int n)if(n=0)return 0;elseif(n=1)return 1;elsereturn (fib(n-2)+fib(n-1);void main()int n;cinn;for(int i=0;in;i+)coutfib(i) ;coutendl;return;8、用switch语句编写程序,统计输入的一串字母中元音字母(a、e、i、o、u)的总个数和每个元音字母出现的次数。#include#includevoid main()int a,e,i,o,u;char c50;a=e=i=o=u=0;coutc;for(int j=0;cj!=0;j+)s

7、witch(ai)case a:;case A:a+;break;case e:;case E:e+;break;case i:;case I:i+;break;case o:;case O:o+;break;case u:;case U:u+;break;coutsum=a+e+i+o+uendl;couta=asetw(3)e=esetw(3)i=isetw(3)o=osetw(3)u=uendl;return;9、摄氏温度和华氏温度的转换公式为:c=(5/9)*(F-32)编程序输出华氏-30度到100度,间隔为5度的华氏温度和摄氏温度对照表。#includevoid main()flo

8、at c,f=-30;for(;f=100;)c=(f-32)*5/9;/Dont use c=(5/9)*(f-32)coutDegree Fahrenheit Degree Centigradeendl;coutsetw(8)fsetw(22)cendl;f=f+5;return;10、编程序计算5!+6!+7!。#includevoid main()int a,s=0;for(int i=1;i4;i+)a=1;for(int j=0;j5+i;)a*=j+;s+=a;cout5!+6!+7!=sendl;return;11、编程序,求从2开始连续100个素数。#includevoid

9、main()int i,j,n=0;for(i=2;n100;i+)j=2;for(;i%j!=0;j+);if(i=j) couti ; n+;12、includevoid main()int x,y,z;for(x=1;x=20;x+)for(y=1;y=33;y+)for(z=3;z=99;z+=3)if(5*x+3*y+z/3=100)&(x+y+z=100)/满足百钱和百鸡的条件?coutcock=xendlhen=yendlchicken=zendl;13、#include#includevoid main( ) int n; do coutn;while(n=0);int m,k

10、,j,l,i;j=n*n*n;for (m=1; m=j;m+=2) l=0;i=0;dol+=m+i*2;i+;while(lj);if(l=j)coutsetw(5)n*n*n=j=;for(k=0;ki-1;k+) coutm+k*2+;coutm+k*2endl;14、#includevoid main()int i,j;for (i=1;i6;i+)for(j=1;j=5-i;j+)cout ;for(j=1;j=2*i-1;j+)cout* ;coutendl;for (i=1;i5;i+)for(j=1;j=i;j+)cout ;for(j=1;j=9-2*i;j+)cout*

11、;coutendl;或者#includevoid main()int i,j,k;for(i=-1,j=-1;j=17;j+=2)if(j9)i+=2;elsei-=2;for(k=1;k=9-i;k+)cout ;for(k=1;k=i;k+)cout* ;coutendl;练习3(p75)1、见教材相关内容2、手写心算写出正确结果(如上机只是为了验证)3、(1) #includevoid main()int a10,max,min;float sum;for(int i=0;iai;max=min=sum=a0;for(i=1;imax) max=ai;if(aimin) min=ai;s

12、um+=ai;cout最大值=maxendl最小值=minendl平均值=sum/10endl;(3) #includevoid main()int a=0,i=0;char *p;cinp;for(int j=0;pj!=0;j+)if(pj=a)a+;elseif(pj=i)i+;couta个数为:a i个数为:i pendl;(4) #includevoid main()int a33,sumz=0,sumc=0;for(int i=0;i3;i+)for(int j=0;jaij;sumz+=aii;sumc+=aij-i-1;cout主对角线元素和=sumzendl次对角线元素和=s

13、umcendl;(7)#includevoid main()char str=students,*p=teachers,temp;coutstrendlpendl;for(int i=0;i=8;i+)temp=stri;stri=pi;pi=temp;coutstrendlpendl;11#includevoid delchar(char *s1,char s2);void main()char s180,s2; coutInput a string and a chars1s2;delchar(s1,s2);couts1endl;void delchar(char *a1,char a2)

14、for(int i=0,j=0;*(a1+i)!=0;i+,j+)if(*(a1+j)=a2) while(*(a1+j)!=0) *(a1+j)=*(a1+j+1);j+;j=i;elsecontinue;练习4(p115)1、见教材相关内容2、写出结果(必要时上机验证)4、#includelong fact1(int i)long a=1;for(int j=1;j=i;j+)a*=j;return(a);long fact2(int j)long s=0;for(int i=1;i=j;i+)s+=i;return s;void main()int m,n;long result1,re

15、sult2;coutn):;cinmn;result1=fact1(m)/(fact1(n)*fact1(m-n);result2=fact2(m)-fact2(n);coutendlresult1=result1endlresult2=result2endl;8、#include templateT abs(T x)return(x=0)?x:-x;void main()int a=-12;float b=-12.01;double c=-12.563637;cout整型:a 绝对值abs(a)endl;cout浮点:b 绝对值abs(b)endl;cout双精度:c 绝对值abs(c)en

16、dl;9、#includeint abs(int x)return(x0)? x:-x;float abs(float x)return(x0)? x:-x;double abs(double x)return(x0)? x:-x;void main()int a=-12;float b=-12.01;double c=-12.563637;cout整型:a 绝对值abs(a)endl;cout浮点:b 绝对值abs(b)endl;cout双精度:c 绝对值abs(c)endl;11、#include void delstr(char *s1,char *s2)for(int i=0;s1i;

17、i+)for(int j=0;s2j&s1i;j+)if(s1i=s2j)for(int k=i;s1k;k+)s1k=s1k+1;j-;void main() char str1=tjuniversitychemicalengineering,str2=tgi;coutstr1endl;coutstr2endl;delstr(str1,str2);coutstr1endl;12、#include#includetemplatevoid sort(T *x,int n)int i,j,k;T temp;for(i=0;in-1;i+)k=i;for(j=i+1;jxj) k=j;if(k!=i

18、)temp=xi;xi=xk;xk=temp;for(i=0;in;i+)coutxi ;cout0;n1/=10) i+;if(ki | k1) j*=10;n/=j;while(n10)n-=10;/花括弧内也可写成long j=1; while(j+k) n/=10; n%=10; return n; 15#include#include#includeint find(char a, char b);void main()cout请输入字符串endl;char str80,k;cin.getline(str,80);cout输入字符k;cout出现的位置是find(str,k)endl

19、;int find(char a, char b)int i,j;i=strlen(a);for(j=0;ji) return 0;else return j+1;17、#includeconst int N=5;void sort(int a,int bN)int i,j,k,temp;for(i=0;iN-1;i+)k=i;for(j=i;jN;j+)if(akaj)k=j;if(k!=i)temp=ai;ai=ak;ak=temp;temp=bi;bi=bk;bk=temp;for(i=0;iN;i+)coutbi aiendl;void main() int xN=85,72,98,5

20、6,85;int bN=1,2,3,4,5;sort(x,b);练习5p1611、回答以下问题:1. 类是具有共同属性和操作的对象的一种抽象,是一种用户自定义的数据类型。对象是封装了描述其属性的数据及对这些数据所加的操作而构成的统一体。2. 面向对象程序设计方法的基本特征有抽象性,封装性,继承性和多态性。3. 用privite说明的成员他们只能被该类的成员函数直接访问,其成员函数也称为工具函数。而用public说明的为公有成员,可以被该类对象直接访问,这部分中的函数也称为操作接口。4. 构造函数主要为对象分配存储空间和对对象数据成员的初始化,而析构函数主要用于执行各语句和释放对象所占用的存储空

21、间。构造函数有以下特点:(1)不允许有任何返回值;(2)函数名必须与本类的类名相同;(3)其参数个数可以为0,也可以有多个,故而函数可以重载;(4)构造函数可以带有一个数据成员初始化表,它必须写在形式参数表的右边圆括号之后,函数体的左花括号之前,并且有一个冒号开始。析构函数特点为:(1)函数名为本类的类名前面加上“”符号;(2)不允许带有任何参数;(3)不允许有任何返回值。具有用一个已定义的对象初始化一个被创建的同类对象作用的函数叫做拷贝函数。自动调用拷贝函数的条件是:(1)在遇到用一个已定义的对象初始化一个被创建的同类对象时;(2)在遇到一个函数时,要把实参对象按值传递给相应的形参对象时;(

22、3)在遇到把对象作为返回值时5. A类中包含有B类对象作为私有数据成员时,B类对象就是A的子对象。初始化时,首先按照各子函数对象的定义顺序调用他们个子所属类的构造函数并对其进行初始化,然后再执行对本类基本类型数据成员初始化以及执行本类的构造函数体。6. C是通过this指针的当前值来感知当前对象的。*this就表示当前对象。7. 友元函数可以访问其他定义类中的全体数据成员。使用友元函数破坏了类的封装性,引入他的目的是加强简化同类对象之间的操作和提高面向对象程序的执行速度。8. 类模版是C中支持参数多态性的工具。一个类模版允许用户为定义一种模式,使得类中的某些数据成员,某些成员函数的参数,某些成

23、员函数内部所需要的局部变量以及某些成员函数的返回值能取任何形式。类模版说明本身并不产生代码,只是指定了一个类族。2、单项选择题AADCAA3、写出以下程序的输出结果:(1)constructing(1,2)constructing(5,6)1,25,6destructed(1,2)destructed(5,6)(2)0,2,14、程序填空(1)jp0line%10=1(或者line%11=0)200obj.Run()(2)long myclass:sum=0ob3(或者ob1, ob2)5、#includeclass dateprivate:int year,month,day,k;publi

24、c:date(int y,int m,int d)year=y;month=m;day=d;void numberofdays()int *p,*j,a13=0,31,28,31,30,31,30,31,31,30,31,30,31,0,31,29,31,30,31,30,31,31,30,31,30,31;p=a0;if(year%4=0)|(year%400=0&year%100!=0)p+=13;j=p+month;while(pj)day+=*p;p+;void print()cout是第day天endl;void main()int y,m,d;cout输入年月日ymd;date a

25、(y,m,d);a.numberofdays();a.print();6、#includeclass Integer int d;public: int GetD()return d; void SetD(int x)d=x; void Isodd() if(d%2=0) coutd为偶数endl; else coutd非偶数endl;void IsPrime()int i; for(i=2;id;i+) if(d%i=0) break; if(i=d) coutd为素数endl; else coutd非素数endl;void main()Integer ob1, ob2;ob1.SetD(1

26、5);ob1.GetD();ob1.Isodd();ob1.IsPrime();ob2.SetD(31);ob2.GetD();ob2.Isodd();ob2.IsPrime();7、/Factorial of N#includeclass factlong n;public:fact(long x)n=x;void mul()for(long f,i=f=1;i=n;i+)f*=long (i);coutN!=fendl;void main()long i;couti;fact ob(i);ob.mul();8、设计一个平面直线类line,采用友元函数判断两条直线是平行还是相交,并采用友元函

27、数计算二直线相交时的交点坐标。再编写一个主函数进行测试。#include classlinedouble A,B,C; static int n;public:void friend Is (line &l1,line &l2);void friend crosspoint (line &l1,line&l2);line(double a=1.0,double b=1.0,double c=1.0)A=a;B=b;C=c;void print()cout直线A=0.0) cout+; coutB=0.0) cout+; coutC=0;int n=0;void Is (line&l1,line

28、 &l2)if (l1.A*l2.B=l1.B*l2.A)cout两直线平行endl;else cout两直线相交endl;n+=1;void crosspoint(line &l1,line &l2)if (n=0 ) cout两直线平行;else double x=(-l2.B*l1.C+l1.B*l2.C)/(l1.A*l2.B-l2.A*l1.B);double y=(-l2.A*l1.C+l1.A*l2.C)/(l2.A*l1.B-l1.A*l2.B);cout相交点为x=x y=yendl;void main()line l1(1,2,3), l2(3,4,5);l1.print(

29、); l2.print();Is(l1,l2);crosspoint(l1,l2);练习 6 (p184)1、见教材相关内容2、选择题(1)B(2)D(3)C(4)B(5)D3、写出结果(必要时上机验证)4、填空题(1) person、(n,s)、person、(n,s)(2) table、circle、charstrlen(c)+1、strcpy、getheight()、getarea()、getcolor()练习7 (p210)1、见教材相关内容2、选择题(1)D(2)C(3)A(4)C(5)C3、写出结果(必要时上机验证)4、填空题(1)const point &p、friend6、成员

30、函数:#include#includeclass stringprivate:char s30;public:string(char *p=0)strcpy(s,p);char *print()return s;string operator+=(string str);string string:operator+=(string str)strcat(s,str.s);return s;void main()string ob1(Tianjin),ob2(University);coutob1ob1.print()endl;coutob2ob2.print()endl;ob1+=ob2;c

31、outob1+=ob2ob1.print()endl;友元函数:#include#includeclass stringprivate:char s30;public:string(char *p=0)strcpy(s,p);char *print()return s;friend string operator+=(string str1,string str2);string operator+=(string str1,string str2)strcat(str1.s,str2.s);return str1;void main()string ob1(Tianjin),ob2(Univ

32、ersity);coutob1ob1.print()endl;coutob2ob2.print()endl;coutob1+=ob2(ob1+=ob2).print()endl;练习8(p228)1、见教材相关内容2、选择题(1)B (2)B (3)C (4)A (5)B3、写出结果(必要时上机验证)4、填空题(1)ofstream outfile、!outfile、outfile、outfile.close()(2)“data.dat”、outfile5、6、#include#include#include void main() char *s1,ch;cins1;fstream file

33、(c:filel.txt,ios:in|ios:out); file.write(s1,strlen(s1);file.seekp(0,ios:beg);while(file.get(ch)coutnext、head-next(3)len-i-1、A.ClearList()4、算法设计题(1)templatevoid Seqlist:Reverse()T temp;for(int i=0;ilength/2;i+)temp= element i;element i= element length-i-1;element length-i-1=temp;(2) void Seqlist:Del_Item(T item)int i;while(i=Search(item)!=-1)Delete(i,item); length-; (3)vo

版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1 

陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922