c++课后习题答案

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

习题答案第二章习题答案•1.判断下面哪些是不合法的标识符?请指出错误。A_var2_testchar#total_book.c•2.举例说明字符常量和字符串常量有何区别?•3.求下列表达式的值(1)inte=1,f=4,g=2;floatm=10.5,n=4.0,k;k=(e+f)/g+sqrt((double)n)*1.2/g+m(2)floatx=2.5,y=4.7;inta=7;x+a%3*(int(x+y)%2/4第1题、2_test不合法标识符必须是字母或下划线开头char不合法标识符不能是关键字#total不合法标识符必须是字母或下划线开头_book.c不合法标识符必须是字母下划线或数字组成的字符串第2题、字符常量是用单引号括起来的一个字符,在内存中只占一个字节;字符串常量是用一对双引号括起来的字符序列,其中的字符连续存储,并在最后加上字符’\0’作为字符串结束的标志。第3题、1.K=13.72.表达式的值为2习题答案第三章习题答案•1.下列关于条件语句的描述中,是错误的。Aif语句中只有一个else子句。Bif语句中可有多个elseif子句。Cif语句中if体内不能是switch语句。Dif语句的if体中可以是循环语句。•2.以下程序段。intx=-1;do{x=x*x;}while(!x);A是死循环B循环执行两次C循环执行一次D有语法错误•3.给出下面程序运行后的输出结果。#includeiostream.hvoidmain(){inti,j;for(i=0;i5;i++){for(j=i;j5;j++)cout*;coutendl;}}若用0至9之间不同的三个数构成一个三位数,以下程序将统计出共有多少种构成方法。请填空。#includeiostream.hvoidmain(){inti,j,k,count=0;for(i=1;i=9;i++)for(j=0;j=9;j++)if(①)continue;elsefor(k=1;k=9;k++)if(②)count++;coutcountendl;}•5.编一程序,求1!+2!+3!+…+10!之和。•6.编一程序,用牛顿迭代法求解2x3-4x2+3x-6=0在1.5附近的根。•7.编一程序,将输入数据按小于10,10~99,100~999,1000以上分类并显示。例如,输入358时,显示358is100to999。•8.编一程序,输出以下图形:************************•*•9.编一程序,求满足如下条件的最大的n。12+22+32+…+n2≤1000•10.一百万富翁遇到一陌生人,陌生人找他谈一个换钱计划,该计划如下:我每天给你十万元,而你第一天只需给我一分钱,第二天我仍给你十万元,你给我二分钱,第三天我仍给你十万元,你给我四分钱,……,你每天给我的钱是前一天的两倍,直到满一个月(30天)。百万富翁很高兴,欣然接受了这个契约。请编写一个程序计算这一个月中陌生人给了百万富翁多少钱,百万富翁给了陌生人多少钱。第1题答案为A第2题答案为C第3题执行结果***************第4题答案:①i==j②j==k第5题.编一程序,求1!+2!+3!+…+10!之和。#includeiostream.hvoidmain(){ints,n,i,j;for(j=0,i=1;i=10;i++){for(s=0,n=1;n=i;n++){s*=n;}j+=s;}coutjendl;}第6题编一程序,用牛顿迭代法求解2x3-4x2+3x-6=0在1.5附近的根。#includeiostream.h#includemath.hvoidmain(){doublex=0.0,y1,y2;doublex1=1.5;while((fabs(x1-x))0.000001){x=x1;y1=2*x*x*x-4*x*x+3*x-6;y2=6*x*x-8*x+3;x1=x-y1/y2;}coutxendl;}第7题编一程序,将输入数据按小于10,10~99,100~999,1000以上分类并显示。例如,输入358时,显示358is100to999。#includeiostream.hvoidmain(){inti;cini;if(i10)coutiis0to9endl;elseif(i100)coutiis10to99endl;elseif(i1000)coutiis100to999endl;elsecoutiisbigerthan1000endl;}第8题#includeiostream.hvoidmain(){intm=3,n=0;for(inti=0;i7;i++){for(intj=0;j7;j++){if(j=(m+n)&&j=(m-n))cout*;elsecout;}coutendl;if(i3)n++;elsen--;}}第9题.编一程序,求满足如下条件的最大的n。12+22+32+…+n2≤1000#includeiostream.hvoidmain(){inti=1,s=0,t;do{t=i*i;s+=t;i++;}while(s=1000);couti-1endl;}第10题.一百万富翁遇到一陌生人,陌生人找他谈一个换钱计划,该计划如下:我每天给你十万元,而你第一天只需给我一分钱,第二天我仍给你十万元,你给我二分钱,第三天我仍给你十万元,你给我四分钱,……,你每天给我的钱是前一天的两倍,直到满一个月(30天)。百万富翁很高兴,欣然接受了这个契约。请编写一个程序计算这一个月中陌生人给了百万富翁多少钱,百万富翁给了陌生人多少钱。#includeiostream.hvoidmain(){longinti,x,y=0,s=1;x=100000*30;cout陌生人给富翁x元;for(i=0;i30;i++){s=s*2;y=y+s;}cout富翁给陌生人y/100元;}C++语言程序设计第六章指针习题答案第四章习题答案C++语言程序设计第六章指针1从键盘上任意输入5个数,然后将它们从大到小排序输出。#includeiostream.h#includeiomanip.hvoidmain(){inta[5];inti,j,t;coutpleaseinput5numbers:\n;for(i=0;i5;i++)cina[i];//输入数组元素coutthenumbersare:;for(i=0;i5;i++)coutsetw(4)a[i];coutendl;for(i=0;i4;i++)for(j=0;j4-i;j++)if(a[j]a[j+1]){t=a[j];a[j]=a[j+1];a[j+1]=t;}coutthesortednumbersare:;for(i=0;i5;i++)coutsetw(4)a[i];//输出数组元素coutendl;}2从键盘上为数组a[2][3]输入任意整数值,显示该数组,找出该数组的最大元素及其下标。#includeiostream.hmain(){inta[2][3],i,j;for(i=0;i2;i++)for(j=0;j3;j++){couta[i][j]=;cina[i][j];;}for(i=0;i2;i++)//显示数组afor(j=0;j3;j++)couta[i][j];inth,l,Max=a[0][0];//找出该数组的最大元素及其下标for(i=0;i2;i++)for(j=0;j3;j++)if(Maxa[i][j]){Max=a[i][j];h=i;l=j;}coutMax:a[h][l]=a[h][l]endl;}3输入一串字符串,求此字符串的长度。#includeiostream.h#includestring.hvoidmain(){chars[50];coutPleaseinputastring:;cins;coutThelengthofstring's'isstrlen(s);}4.输入一行文字,找出其中大写字母、小写字母、空格、数字及其它字符各有多少?#includeiostream.hvoidmain(){chara[100];cin.get(a,100);intx=0,y=0,z=0,t=0;for(inti=0;i=100;i++){if(a[i]=='\0')break;elseif(a[i]='a'&&a[i]='z')x++;elseif(a[i]='0'&&a[i]='10')y++;elseif(a[i]=='')z++;elset++;}cout字母数为:xendl;cout空格数为:zendl;cout数字为:yendl;cout其他为:tendl;}5.输入一字符串,反向输出每一个字符。#includeiostream.h#includestring.hvoidmain(){charch[100];cin.get(ch,100);for(inti=strlen(ch)-1;i=0;i--)coutch[i];coutendl;}6.从键盘上输入一个字符串,假定该字符串的长度不超过30,试统计该字符串中所有十进制数字字符的个数。#includeiostream.hvoidmain(){chara[30];coutPleaseinputastring:;cin.get(a,30);intx=0,i=0;while(a[i]!='\0'){if(a[i]='9'&&a[i]='0')x++;i++;}cout数字为:xendl;}7.编写程序,其功能是:输入一个字符串,将其中的所有数字删除、输出改动后的字符串及其长度,例如输入:ab123df354ADFx193输出abdfADFx8。#includeiostream.hvoidmain(){chara[100],b[100];cina;inti=0,j=0;while(a[i]!='\0'){if(a[i]='0'&&a[i]='9')i++;else{b[j]=a[i];j++;i++;}}b[j]='\0';coutbjendl;}习题答案第五章习题答案5.1说明下列程序的执行过程和运算结果:doublesqu(doublex);intmain(){doublex;coutx=?endl;cinx;coutThesquarerootofxissqu(x)endl;return0;}doublesqu(doublex){doubles1,s2;s1=0.5*(1.0+x);do{s2=s1;s1=(s2+x/s2)*0.5;}while(fabs(s2-s1)1.0E-6);returns1;}5.2不用库函数,自已编写求整数次幂的函数longintPower(intbase,intexponent),求base的exponent次幂。#includeiostream.hlongintPower(intb,inte);voidmain(){longn;intb,e;n=intPower(b,e);}longintPower(intb,inte)//求base的exponent次幂。{longx,q;inti;cinbe;q=b;if(e==0)q=1;else{for(i=1;ie;i++)q=q*b;}x=q;coutx=xendl;returnx

1 / 43
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功