收藏 分享(赏)

《c++程序设计》习题答案吴乃陵.docx

上传人:dzzj200808 文档编号:2726902 上传时间:2018-09-26 格式:DOCX 页数:192 大小:240.48KB
下载 相关 举报
《c++程序设计》习题答案吴乃陵.docx_第1页
第1页 / 共192页
《c++程序设计》习题答案吴乃陵.docx_第2页
第2页 / 共192页
《c++程序设计》习题答案吴乃陵.docx_第3页
第3页 / 共192页
《c++程序设计》习题答案吴乃陵.docx_第4页
第4页 / 共192页
《c++程序设计》习题答案吴乃陵.docx_第5页
第5页 / 共192页
点击查看更多>>
资源描述

1、第一章 C+基础知识习题1.1 判断下列标识符的合法性。sin book 5arry _name Example2.1 main$1 class_cpp a3 x*y my name答:合法的:sin book _name main class_cpp a3 非法的:5arry Example2.1 $1 x*y my name1.2假定有下列变量:int a=3,b=5,c=0;float x=2.5,y=8.2,z=1.4;char ch1=a,ch2=5,ch3=0,ch4;求下列表达式的值,以及运算后表达式所涉及的各变量的值。x+(int)y%a x=z*b+,b=b*x,b+ ch4

2、=ch3-ch2+ch1int(y/z)+(int)y/(int)z !(ab) int m=5; a char ch=aint array5=1,2,3,4,5; char s=“Hello“;答:“China“ 文字常量const int n=10;常变量int m=5;变量a 文字常量char ch=a变量int array5=1,2,3,4,5;变量char s=“Hello“;变量1.4将下列算式或叙述用 C+表达式描述。(1) (2) (x+y)/(x-y)*ay)(3)位于原点为圆心,a, b 为半径的圆环中的点坐标。(4) 。(5) 并且字符 ch 不为0 。答: pi/2+s

3、qrt(asin(x)*asin(x)+c*c)(x+y)/(x-y)*pow(a,y)(x*x+y*y)=a*a)ch2=cin.get();cinch3;若从键盘输入:3 2 1.8 7 a b c执行后各变量取值如何?注意 abc 三字符两两间有空格。答:a 是3,b 是2,x 是1.8,y 是7,ch1是a ,ch2是空格,ch3是b 。1.7设有语句:int a,b,c,d;cinoctabhexcdecd;若从键盘输入:23 23 23 23执行后各变量的值用十进制表示各是多少?答:a:19,b:19,c :35,d:231.8对于习题1.7,若执行:cout5)if(b-a25)

4、 a+;elseb/=a;解答:本题检查学生整除的概念。跟踪:a b b/a 循环次数 b-a3 100 33 1 974 100 25 2 965 100 20 3 95 15 100 6 13 8516 100 6 14 8417 100 5 停 (1)14(2)17(3)1002.1.2设有说明:int x,y,n,k;下面程序段的功能是备选答案中的 (1) ,当 n=10,x=10打印结果是 (2) 。cinxn;k=0;dox/=2;k+;while(k=10) break;if(m%2=0)m+=5;continue;m-=3; 解答:注意 continue 语句的使用初值 m=0

5、 k=1第1次循环后 m=5 k=2第2次循环后 m=2 k=3第3次循环后 m=7 k=4第4次循环后 m=4 k=5第5次循环后 m=9 k=6第6次循环后 m=6 k=7第7次循环后 m=11 k=8第8次循环 m=11结束 k=8,k+未做(1)11(2)8 二编程与综合练习题2.2有一个函数:编写程序,输入 x,输出 y。解:#include using namespace std;int main()double x,y;coutx;if(xusing namespace std;int main()int mark,result; /mark 是百分制成绩,result 是5分制

6、coutmark;if(markusing namespace std;int main()double income,tax=0;int k;coutincome;if(income20000)k=income/20000;switch(k)default: tax+=(income-100000)*0.45;income=100000;case 4: tax+=(income-80000)*0.40;income=80000;case 3: tax+=(income-60000)*0.35;income=60000;case 2: tax+=(income-40000)*0.30;inco

7、me=40000;case 1: tax+=(income-20000)*0.25;income=20000;if(income5000)tax+=(income-5000)*0.20;income=5000;if(income2000)tax+=(income-2000)*0.15;income=2000;if(income500)tax+=(income-500)*0.10;income=500;tax+=income*0.05;coutusing namespace std;int main()int i,j;for (i=1;i0;j-) coutusing namespace std

8、;int main()char in;int i,j;docoutin;if(in=97)int line=in-A;for (i=0;i0;j-) cout0;i-)/下三角(少一行)for(j=0;j#include using namespace std;int main()int n,i,jch=1;double result=0; /result 是结果coutn;if(nusing namespace std;const int day=10;int main()int i,x=1;/最后一天只有一个for(i=1;i#include using namespace std;int

9、 main()int stem256,sum=0,pnum=0,nnum=0,i=0;coutstemi;while(stemi!=0)sum+=stemi;/求和if(stemi0) pnum+;/正数数量else nnum+;/负数数量i+;cinstemi;if(!i) coutusing namespace std;int main()int i;for(i=1;iusing namespace std;int main()int i,a,sum_yz; /sum_yz 是 a 的因子和for(a=1;ausing namespace std;int main()int i,j,k,c

10、ount=0;for(i=0;i=0)cout#includeusing namespace std;const double e=1e-5;int main()double x,a,sum;int i=3;coutx;a=x;sum=x;doa*=x*x*(-1);sum+=a/i;i+=2;while(fabs(a/i)e);cout#includeusing namespace std;const double e=1e-5;int main()double x0,x1;int n=0;coutx1;dox0=x1;x1=(x0*x0-10*(x0*sin(x0)+cos(x0)/(2*

11、x0-10*sin(x0);/x0是上次算出的结果,x1用作保存新算出的结果n+; while (fabs(x1-x0) e)int main()char st15=A,B,C,D,E,st25=J,K,L,M,N;int i=0,j,k,l,m,n;for(j=0;j#includeusing namespace std;int main()enum candidatefeipiao,zhang,wang,li,zhaocand;int vote5=0,i,k=0,n;cinn;while(n!=-1)k+;if(n=1for(i=0;ik/2) coutk/2) coutk/2) cout

12、k/2) coutijkl;等,并输出最后关闭文件:file.close();#include#include#includeusing namespace std;const int m=20;int main()int fib0=0,fib1=1,fib2,i,j,k,l,n;char ch;ofstream ofile(“myfile2_17.txt“);ofilech;if(ch=y|ch=Y)ifstream ifile(“myfile2_17.txt“);while(1)ifileijkln;/由文件读入if(ifile.eof()!=0) break;cout#include#i

13、nclude#includeusing namespace std;const int n=100;int main()int an,i,j;char ch,b256;ofstream ofile;ifstream ifile;for(i=0;ich;if(ch=y|ch=Y)ifile.open(“myfile2_18.txt“);i=0;while(ifile.get(bi)/不可用, 它不能读白字符 ,if(bi=n) break;i+;bi=0;couti;/由文件读入 cout#includeusing namespace std;int main()char ch;int nlin

14、e=0,nword=0,nch=0;int isword=0;ifstream ifile(“ep2_19.cpp“);coutusing namespace std;int a,b;void f(int j)static int i=a; /注意静态局部变量int m,n;m=i+j; i+; j+; n=i*j; a+;coutusing namespace std;float sqr(float a)return a*a;float p(float x,int n)coutusing namespace std;char capitalize(char ch)if(ch=aMaxComm

15、onDevisor(int n,int m)int i; for( i=n;i=1;i-)if(n%i=0 return i;MinCommonMultiple(int n,int m)int i;for(i=n;iij;coutusing namespace std;digit(int num,int k)int s10=0,0,0,0,0,0,0,0,0,0;int i=0;do/先把整数转换为数字串si=num%10;num/=10;i+;while(num0);if(kusing namespace std;factors(int num,int k)/缺省返回值为整型int coun

16、t=0;while(num%k=0)count+;num/=k;return count;int main()cout#includeusing namespace std;bool prime(int m)if(m=1|m=0) return false;if(m=2) return true;int k=(int)sqrt(m);for(int i=2;ik) return true;else return false;int main()for(int n=4;nusing namespace std;void PrintDiagram(int m)int i ;cout|endl;for(i=0;i3;i+)cout|;for(int j=0;jm;j+) cout*;coutendl;cout|endl;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报