c++程序设计课后习的题目详解杨长兴,刘卫国主编1111_第1页
c++程序设计课后习的题目详解杨长兴,刘卫国主编1111_第2页
c++程序设计课后习的题目详解杨长兴,刘卫国主编1111_第3页
c++程序设计课后习的题目详解杨长兴,刘卫国主编1111_第4页
c++程序设计课后习的题目详解杨长兴,刘卫国主编1111_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实用标准文案习题一一、 选择题1.C2. C 3.B4.C5.C6.D7.C8.A9.B10.D二、填空题1.算法 2. main 3. ;4. cpp obj exe5.符号 定义 6.是10是117. double 18. -2649.是 410. m-m/n*n 11. a 为 6 b 为 4 c 为 212.为 1三、问答题1 . 有点。计算机程序设计语言模型是更规则、无二意性的语言模型。2. 书 P33. .dsw 、.dsp、.ncp、.cpp4. 提高程序的可读性、可维护性。在行注释前加“ ”。段注释放入“ /*”和“7”之问。注释对原程序的编译和运行没影响。5. 设置符号常量主

2、要提高源程序的可读性、维护性。区别:1.识别时,主要看符号的定义;2.运行时,符号常量不能改变值而变量可改变。6. 字符常量通常指一个字符,存储单元为一个字节;字符串可包含多个字符,存储单元为字符数加1个字节。7. 1.0、1.1e2 类型:double; 1L、65536 类型:long8. int、new 不是,因为是关键字;abc、lxyz、a_0、Hello、aaaaa、_a 是合法的 标识符;a+b、!A不是,因为+、!是运算符。0_abc不是是因为数字开头;d$a不 是是因为标识符不应包含$。精彩文档实用标准文案9. 合法:(1)、(5)、(6)10. 全部都是。11. .a=2;

3、b=112. .2;-2;6、4、40、-3、313. (1) 4 a=3 b=4 c=5;(2)5 a=3 b=4 c=6;(3)-9 a=3 b=5 c=5;(4) 4 a=4 b=4 c=414 .(1) (float) k (2)x-int(x)m/10%10(4)(ch>= ' A && ch<= ' Z' )?(ch= ' a' +ch- 'A' ):ch习题二四、选择题1.B2. C 3.A4.B5.B五、填空题精彩文档1. if 2. dowhile 和 for3.循环体循环体4. 1n+1 n

4、5. 5,4,6三、程序阅读题15 .m=516 .1 4,2 6,2 3,3 5,5 6,c=37六、程序设计题1 . #include <iostream>#include <cmath> using namespace std;float a,b,c,s,area;void main()cout<<" 输入a b c:"cin>>a>>b>>c;if (a+b>c)&&(a+c>b)&&(b+c>a)s=(a+b+c)/2;cout<<

5、" 面积二"<<sqrt(s*(s-a)*(s-b)*(s-c); elsecout<<"输入的不是三角形的三条边"2 .见实验教程p27 4.3 .#include <iostream.h>void main()float x,y;coutvv"输入购物款:"cin>>x;switch (int(x/1000) case 0:y=x;break;case 1:y=x*0.95;break;case 2:y=x*0.9;break;case 3:y=x*0.85;break;defaul

6、t:y=x*0.8;coutvv"优惠款为:"vvyvvendl;4. 见实验教程p28 5.5. #include viostream>using namespace std;int i,n;long js=1;void main()coutvv"输入n:"cin>>n;for (i=1;iv=n;i+)实用标准文案js*=i;cout<<n<<"!="<<js;)6. #include <iostream>#include <cmath>using na

7、mespace std;int n=1;float pi=0,xn=4;void main() while (fabs(xn)>1.0e-8) pi+=xn;n+;xn=-4.0*sign(xn)/(2*n-1);) cout<<" Tt="<<pi;)7. #include <iostream.h> void main() int i,j,sum;for(i=2;i<=1000;i+) sum=0;For (j=1;j<i;j+)if (i%j=0) sum+=j;if (sum=i)cout<<i<

8、<""For (j=1;j<i;j+)If (i%j=0) cout<<j<<"," Cout<<endl;)8. #include <iostream.h> void main() int x,y,z;精彩文档实用标准文案For (x=1;x<10;x+)For (y=1;y<12;y+) z=20-x-y;If (5*x+4*y+2*z=50)Cout<<"公猴:"<<x<<"母猴:"<<y&

9、lt;<"小猴:"<<z;9. 见教程p60例2.2310. 见实验教程p32 5.习题三七、选择题1.B2.B3.C4.D5.D八、填空题1 .函数头 省略 能省略 应加“;”函数头 不加“;”2 . inline flat f(int,char)3 .函数体外外部内部(静态)static 文件位置extern4 .生存期作用域作用域生存期作用域本文件5 .-22100-3三、程序阅读题17. S=4018 .y=12919 . max=820 .S=29精彩文档实用标准文案a)程序设计题1 . #include <iostream.h>fl

10、oat add(int x,int y) return (float)(x+y);float fac(int n) int i;float s=1;For (i=1;i<=n;i+) s*=i;void main() int m,ncout<<" 输入整数 m n:" cin>>m>>n;cout<<m<<"!+"<<n<<"!="<<add(fac(m),fac(n)<<endl;2 . #include <ios

11、tream.h>#include <math.h>int isprime(int n) int i;float k;k=sqrt(n);for (i=2;i<k;i+) if (n%i=0) return 0;return 1;void main() int s=0,i;for (i=2;i<=100;i+)if (isprime(i) s+=i;cout<<"和:"<<s<<endl;3 .非递归:精彩文档float pow(float a,int n) int i;float s=1;for (i=1;i

12、<=n;i+)s*=a;return s;递归:float pow(float a,int n) float s;if (n=0)return 1;elses=pow(a,n-1)*a;return s;4 .非递归:float sum(int n) float s;int i;for (i=1;i<=n;i+) s+=i;return s;递归:float sum(int n) float s;if (n=1)retrun 1;elses=sum(n-1)+n;return s;精彩文档5. #include <iostream.h>inline int ischar

13、(char n) if (n<=127) return 1;return 0;void main() char a;cout<<"输入字符:"cin>>a;if (ischar(a)cout<<a<<endl;elsecout<<”输入的不是英文字符:6.file1.cppfloat fac(int n) int i;float s=1;For (i=1;i<=n;i+) s*=i;File2.cpp#include <iostream.h> float pow(float a,int n)

14、 int i;float s=1;for (i=1;i<=n;i+) s*=a;return s;void main()精彩文档实用标准文案int a,b,n;cout«"输入 a b n : cin»a»b»n;cout«fac(a)/pow(b,n);)习题四程序设计题:1. include <iostream.h> void main()int a10,ij,k,tem;for (i=0;i<10;i+)cout«"输入第 "vvi+ivv" 个整数:";

15、cin»ai; for (i=0;i<=8;i+)k=i;for (j=i+l;j<=9;j+)if (ak<aj) k=j;tem=ai;ai=ak;ak=tem;cout«ai«"t")2. 设:数组的大小为n,插入函数如下:int insert(int a,int n)int b,i=0,k;Cout« ”输入整数:cin»b;while (b>ai && i<=n)i+;if (i<=n)for (k=n;k>i;k-) ak=ak-1;ai=b;return

16、 1;精彩文档实用标准文案) elsecout<<"该数不能插入"return 0;)3. #include <iostream.h>int a100,i,k,b;void main() i=1;while (i<=100) cout<<" 输入第"<<i<<" 个整数:"cin>>b;for (k=0;k<i-1;k+)if (ak=b) break;if (k=i-1) ai+-1=b;)4. #include <iostream.h>

17、#define lnum 10#define cnum 10void main() float alnumcnum,max,min;int i,j,k,l,fb=1;/输入数给数组for (i=0;i<lnum;i+)for(j=0;j<cnum;j+)cout<<" 输入"<<i<<" 行"<<j<<" 列数:"cin>>aij;找鞍点,先找出一行中的最大点,然后在同列中确定是否为最小点for (i=0;i<lnum;i+) l=0;精彩文档f

18、or(k=1;k<cnum;k+) if (ail<aik) l=k;for(k=0;k<cnum;k+)if (ail>alk) break;if (k=cnum) cout<<i<<" 行"<<l<<"列元素为鞍点:" fb=0;elseif (fb) cout<<"该数组无鞍点"5. void f(int a口,int n) int i,tem;for (i=0;i<n/2;i+)tem=ai;ai=an-1-i;an-1-i=tem;6.

19、int f(char *s) int n=1;char *p,*p1;n=strlen(s);p=s;p1=s+n-1;while (p<p1) if (*p!=*p1)return 0;elsep+;p1-return 1;精彩文档实用标准文案7. #include <iostream.h>#include <string.h>void main() char str1100,str250,*p=str2;int n;Cout<<"输入字符串"Cin.get(str1,100);n=strlen(str1);for (i=0;i&

20、lt;n;i=i+2)*(str2+i/2)=str1i;*(Str2+i/2)=null;cout<<"str1:"<<str1<<endl;cout<<"str2:"<<str2<<endl;8. #include <iostream>using namespace stdvoid main() int i,supercn=0,lowcn=0,spacecn=0,numbercn=0,othercn=0;char a100;cout<< ”输入字串:”;c

21、in.get(a,100);while (ai) if (ai>= ' A' && ai<=' Z' ) supercn+;else if (ai>= ' a' && ai<=' z' ) lowcn+;else f (ai= '') spacecn+;else if (ai>= ' 0' & ai<= ' 9 ' ) numbercn+;else othercn+;cout<< ” 大写字母数:

22、" <<supercn<<endl;cout<< ” 小写字母数:" <<lowcn<<endl;cout<< " 空格数:" <<spacecn<<endl;cout<< ” 数字字母数:" <<numbercn<<endl; cout<< ” 其它字母数:" <<supercn<<endl;9 .#include <iostream>using name

23、space stdvoid main() int i,lable=0,count=0;char a100;cout<< ”输入字串:”;cin.get(a,100);while (ai) if (ai= '' && lable)count+;label=0;else if(ai!='')lable=1;i+;coutvv ” 单字个数:" vvcountvvendl;10 . #include <iostream>#include <string>using namespace std;void ma

24、in() int i,maxn=0,maxxb,m=0;char a40100;coutvv”输入各行:"vvendl;for (i=0;i<40;i+) cin.getline(ai,100);m=strlen(ai);if (m=0) break;if (m>maxn) maxxb=i;maxn=m;cout<<amaxxb<<endl;11 .#include <iostream>#include <string>using namespace std;void main() int i,n,m,j,k;char a4

25、0100,b100;cout<<"输入各国家名(一个国家一行):"<<endl;for (i=0;i<40;i+) cin.getline(ai,100);m=strlen(ai);if (m=0) break else n+;for (i=0;i<n-2;i+) k=i;for (j=i+1;j<n-1;j+)if (strcpy(ak,aj)>0) k=j;if (k!=i) strcpy(b,ai);strcpy(ai,ak);strcpy(ak,b);)for (i=0;i<n;i+) cout<<a

26、i<<endl;12 .int find( char *s, char *word) char *p1,*p2,lable=1,firstspace=1;p1=s;p2=word;while (*p1) if (*p1='')firstspace=1;else if (firstspace=1) lable=1;while (*p1!='' && *p1 && *p2)if (*p1!=*p2) lable=0;p1+;p2+;if (lable && !*p2 && (*p1='

27、; ' | !*p1)return 1;if (!*p1) return 0;if (*p1=' ') firstspace=1; else firstspace=0;p2=word;p1+;return 0;习题五九、选择题1 .A2.D3.C4.A5.D十、填空题1. struct 2.typedef 3.102 4.new delete一、程序阅读题程序1:65 A,ch a c .du 0x1400000065 a精彩文档.ch a c ,d程序2:10,20,7,9四、程序设计题1.#include <iostream>using namespac

28、e std;struct date int year;int month;struct student long num;char name9;char sex;date birth;float totalscore;char hometown20;Void main() student s5,s1;char i,j,m5;for (i=0;i<5;i+)实用标准文案 cout<<"输入第" <<int(i+1)<<”个学生的学号:”;cin>>si.num;cout<< “ 姓名:”;cin.get(,9);cin.readsome(m,5);cout<< " 性别:”; cin>>si.sex;cin.readsome(m,5);cout<< ”输入出生年 月:”;cin>>si.birth.year>>si.birth.month;cout<< ”输入总分:”;cin>>si.totalscore;cout<< ”输入籍贯:”;cin.get(si.hometown,20);cin.readsom

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论