VC教科書課后習(xí)題答案.doc_第1頁
VC教科書課后習(xí)題答案.doc_第2頁
VC教科書課后習(xí)題答案.doc_第3頁
VC教科書課后習(xí)題答案.doc_第4頁
VC教科書課后習(xí)題答案.doc_第5頁
已閱讀5頁,還剩51頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

練習(xí)題1練習(xí)題2練習(xí)題3練習(xí)題4練習(xí)題5練習(xí)題6練習(xí)題7練習(xí)題8練習(xí)題9練習(xí)題10練習(xí)題11練習(xí)題12練習(xí)題13第一章練習(xí)題P.91_1答:(1)正確性(2)可讀性和可理解性好(3)可維護(hù)性好(4)構(gòu)思好、簡(jiǎn)短、執(zhí)行速度快。1_2答:(1)封裝性(2)繼承和派生性(3)重載性(4)多態(tài)性。1_3答:(1)輸入源程序,得到.cpp文件(2)編譯,得到.obj文件(3)構(gòu)件(連接),得到.exe文件(4)執(zhí)行,運(yùn)行.exe文件1_4略1_5答:(1)/*注解信息*/,運(yùn)用于程序的任何地方;(2)/注解信息,運(yùn)用于行尾。1_6答:(1)分析問題,描述算法(2)編寫程序,得到源程序(3)編譯源程序,產(chǎn)生目標(biāo)文件(4)構(gòu)件(連接),得到可執(zhí)行文件(5)調(diào)試程序。返回第二章練習(xí)題P.302_1不合法的有:1.25e3.4(指數(shù)必須為整數(shù))、9645( 內(nèi)只能有一個(gè)字符)合法的有:32767(整型)、35u(無符號(hào)整型)、3L(長(zhǎng)整型)、0.0086 e-32(實(shí)型)、87(字符型)、”Computer System”(字符串)、”a” (字符串)、a (字符型)、-0(整型)、+0(整型)、.5(實(shí)型)、-.567(實(shí)型)2_2定義:以英文字母、下劃線開始的,由字母、下劃線和數(shù)字組成的字符序列。合法的有:abc、English、Else(C+區(qū)分大小寫,else非法)、China_bb、b3y、AbsFloat不合法的有:2xy(不能以數(shù)字開頭)、x-y(含非法字符“-”)、if(關(guān)鍵字不能做標(biāo)識(shí)符)、b(3) (含非法字符“(”和“)”)、def(含非法字符“”)、float(關(guān)鍵字不能做標(biāo)識(shí)符)。2_3(1)b=1(2)1 (3)c=102 (4)b=8(5)d=40(6)c=62_4-12E-5=-0.000121.25E-5=0.0000125.01E+3=1050E-6=0.00005 12.345E4=1234502_5字符:a、0x33、r、字符串:”a”、”中國(guó)”、”8.24”、”nt0x34”、”0x33”其它:0x66、China、56.34、8.342_6(1) x不正確,在同一個(gè)作用域內(nèi)(相同的范圍內(nèi))變量不能重復(fù)定義;(2) c1不正確,在同一個(gè)作用域內(nèi)(相同的范圍內(nèi))變量不能重復(fù)定義。2_7(1)sin(x)/(x-y)(2)sqrt(s*(s-a)*(s-b)*(s-c)(3)(a+b)*(m+n)(4)(x+y)/(x-y)2_8合法的賦值表達(dá)式有:A=b=4.5+7.8、x=(y=4.5)=45、e=xy不合法的賦值表達(dá)式有:c=3.5+4.5=x=y=7.96(式中試圖把值賦給常量)2_9(1)13(2)25(實(shí)型)(3)17(4)120(整型)2_10(1)0(2)1(3)1(4)12_11(1) a=1764,b=7(2) a=6,b=1,c=1(3) a=7,b=7,c=d=15(4) a=91,b=49(5) a=19,b=13,c=19(6) a=6,b=7,c=15,d=152_12(1) a=18(2) b=19(3) c=20(4) d=182_13(1) y=14(2) x=5,y=5,z=13(3) x=40,y=1600(4) x=13,y=5,z=132_14(1) x=1,a=15,b=18,c=21(2) y=0,a=15,b=18,c=21(3) x=1,a=15,b=18,c=22(4) y=1 ,a=15,b=18,c=212_15(1) x=7(實(shí)型),a=7(整型)(2) x=7.873,a=7(整型)(3) x=7(實(shí)型),y=7.873,a=7(整型)(4) x=7.5,a=25(整型),b=7(整型)返回第三章練習(xí)題P.63_1c1= ,c2=a ,c3=3_210099a3_3c1=a ,c2=b ,c3=c3_4291831233_52564001003_63333返回第四章練習(xí)題P.604_1C+語句分為:說明語句、控制語句、函數(shù)調(diào)用語句、表達(dá)式語句、空語句和復(fù)合語句(也稱塊語句)六類。C+的基本程序結(jié)構(gòu)分為:順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)三種。4_2#includevoid main()int a,b,c;cinab;ab?(c=a):(c=b);cout大數(shù)為:cn;4_3#includevoid main(void)float x,y;cinx;if(x=2.5)y=1.5*x+7.5;else y=9.32*x-34.2;coutx=xty=yendl;4_4#includevoid main(void)float x,y;cinxy;coutx=xty=yy)coutx-y=x-yendl;else couty-x=y-xendl;4_5#include#includevoid main(void)float a,b,c,delta;coutabc;couta=atb=btc=cn;delta=b*b-4*a*c;if(delta0)coutNo solutions!n;elsedelta=sqrt(delta);cout方程的根為:n;coutx1=(-b+delta)/2/at;coutx2=(-b-delta)/2/an;4_6(1) 用條件語句實(shí)現(xiàn)#includevoid main()float s;while(1)couts;if(s=90)cout=80)cout=70)cout=60)cout五分制成績(jī)?yōu)镈n;else cout五分制成績(jī)?yōu)镋n;(2) 用開關(guān)語句實(shí)現(xiàn)#includevoid main()float s;while(1)couts;if(s0)break;switch(int)s/10)case 10:case 9:cout五分制成績(jī)?yōu)锳n;break;case 8:cout五分制成績(jī)?yōu)锽n;break;case 7:cout五分制成績(jī)?yōu)镃n;break;case 6:cout五分制成績(jī)?yōu)镈n;break;default:cout五分制成績(jī)?yōu)镋n;break;4_7#includevoid main(void)float a,sum=0;for(int i=1;ia;sum+=a;coutsum=sumtaverage=sum/10endl;4_8#includevoid main(void)int n;float x=1,y=0;cinn;coutn=nt;for(int i=1;i=n;i+)x*=i;y+=x;couty=yendl;4_9#includevoid main(void)int i,k,j,m,n=0;for(i=100;i=999;i+)m=0;k=i;while(k)j=k%10;m+=j*j*j;k/=10;if(m=i)coutit;coutn;4_10#include#include#includevoid main(void)int i,j,k=0,l;for(i=101;i200;i+=2)j=sqrt(i);for(l=2;l=j+1)coutsetw(6)i;k+;if(k%5=0)coutn;coutn;4_11#include#includevoid main(void)for(int i=0;i3;i+)for(int k=1;k=4;k+)cout* ;coutn;coutsetw(i*2+2) ;4_12#includevoid main(void)int n,y0,y1,y2,y3,k;for(n=0;n=3;n+)switch(n)case 0:y0=0;couty0t;break;case 1:y1=1;couty1t;break;case 2:y2=2;couty2t;break;default:for(k=3;n=20;n+)y3=y0+y1+y2;couty3t;y0=y1;y1=y2;y2=y3;k+;if(k%4=0)coutn;coutn;4_13#includevoid main(void)int n,sum=0;coutn;coutn=nn;cout各位數(shù)字之和是:;for(int i=1;i=4;i+)sum+=n%10;n/=10;coutsumn;4_14void main(void)int count1=0,count2=0;float n,sum1=0,sum2=0;coutn;if(n=0)break;if(n0)count1+=1;sum1+=n;elsecount2+=1;sum2+=n;cout正數(shù)的個(gè)數(shù)為:count1t正數(shù)之和是:sum1n;cout負(fù)數(shù)的個(gè)數(shù)為:count2t負(fù)數(shù)之和是:sum2n;cout總的平均值:(sum1+sum2)/(count1+count2)endl;4_15#includevoid main(void)int n,num;coutn;coutn=nn;cout反序的各位數(shù)字分別是:;for(int i=1;i=4;i+)num=n%10;coutnum;n/=10;coutn;4_16#includevoid main(void)int n,s=0;for(n=1;n+)s+=n;if(s=600)break;coutn=nts=sendl;4_17#includevoid main(void)float pi=1;for(int n=1;n=1000;n+)pi*=(n*2.0)/(2*n-1)*(n*2.0)/(2*n+1);coutpi/2=piendl;4_18#includevoid main(void)int i,j,k=0;for(i=1;i=599;i+)if(i%3=0)j=i;while(j)if(j%10=5)coutit;k+;if(k%8=0)coutn;break;j/=10;coutn;算法2int i,j,k=0;for(i=3;i=599;i=i+3)j=i;while(j)if(j%10=5)coutit;k+;if(k%8=0) coutn;break;j/=10;coutn;4_19#includevoid main(void)int i,j1,j2,j3,l;for(i=100;i=999;i+)l=i;j1=l%10;l/=10;j2=l%10;l/=10;j3=l%10;if(j1*j1+j2*j2+j3*j3)=i/11&(j1=j2|j2=j3|j3=j1)coutit;coutn;或#includevoid main(void)int i;for(i=100;i=999;i+)if(i%10)*(i%10)+(i/10%10)*(i/10%10)+(i/100)*(i/100)=i/11)if(!(i%10-i/10%10)*(i/10%10-i/100)*(i%10-i/100)coutit;coutn;返回第五章練習(xí)題P.965_1#includevoid main(void) int x,y,z,max; cout輸入三個(gè)整數(shù)!xyz; coutx=xty=ytz=zn; int fun_max(int,int); max=fun_max(fun_max(x,y),z); cout最大數(shù)是:maxb) return a;else return b; 5_2#include#includeint fun(int n)if(n0)coutn應(yīng)為正數(shù)!n;exit(1);if(n=0)return 1;return n*fun(n-1);int fun_c(int m,int r)if(m0|r0|mr)cout輸入的數(shù)不正確!n;exit(1);return fun(m)/(fun(r)*fun(m-r);void main()coutc(4,2)=fun_c(4,2)n;coutc(6,4)=fun_c(6,4)n;coutc(8,7)=fun_c(8,7)n;5_3#include void fun(int x)int t;if(x=0)return; t=x%16;fun(x/16);switch(t)case 15:coutF;break;case 14:coutE;break;case 13:coutD;break;case 12:coutC;break;case 11:coutB;break;case 10:coutA;break;default:coutt;void main()int x;coutx;fun(x);coutendl;5_4#include#includeint fun(int n)int m;m=(int)sqrt(n);for(int k=3;k=m;k+)if(n%k=0)return 0;return 1;void main()int j=0; for(int a=5;a=100;a+=2)if(fun(a)=1)coutat;j+;if(j%5=0)coutn;coutn;5_5#includeint fun(int x,int y)for(int i=x;i+)if(i%y=0&i%x=0)return i;void main()int num1,num2;cinnum1num2;coutnum1和num2的最小公倍數(shù)是:fun(num1,num2)n;5_6#includeint fun(int x,int y)for(int i=x;i1;i-)if(y%i=0&x%i=0)return i;return 1;void main()int num1,num2;cinnum1num2;coutnum1和num2的最大公約數(shù)是:fun(num1,num2)n;5_7#includeint max(int a ,int b) coutb) return a;else return b;float max(float a ,float b) coutb) return a;else return b;void main(void) int x=1,y=2; float a=1,b=2; cout大數(shù)是:max(a,b)endl; cout大數(shù)是:max(x,y)endl;5_8#includeinline float fun_max(float a ,float b,float c) return a=b?a:b=b?a:b);void main(void)float x,y,z;cinxyz;cout最大數(shù)是: fun_max(x,y,z)endl;5_9#includeint fun1(int n=10) /用循環(huán)解int jc=1;for(int i=1;i=n;i+)jc*=i;return jc;int fun2(int n=10) /用遞歸解if(n=0|n=1)return 1;return n*fun2(n-1);void main()cout10!=fun1()n;cout10!=fun2()n;coutn!=fun1(n)n;coutn!=fun2(n)n;5_12#include#includelong Fibonacci(int n)if(n=1|n=2)return 1;return Fibonacci(n-1)+Fibonacci(n-2);void main()int n;cinn;for(int i=1;i=n;i+)coutsetw(12)Fibonacci(i);if(i%4=0)coutn;coutn;5_13#includefloat H1(int n,float x) /遞歸if(n=0)return 1;if(n=1)return 2*x;return 2*x*H1(n-1,x)-2*(n-1)*H1(n-2,x);float H2(int n,float x) /非遞歸循環(huán)float h0=1,h1=2*x,h2;if(n=0)return 1;if(n=1)return 2*x;for(int i=2;i=n;i+)h2=2*x*h1-2*(i-1)*h0;h0=h1;h1=h2;return h2;void main()int n;float x;cout請(qǐng)輸入一個(gè)不小于零的整數(shù)和一個(gè)褸!nx;cout輸入的兩個(gè)數(shù)是:endl;coutn=ntx=xendl;coutHermite數(shù)列的前n項(xiàng)分別是:n;for(int i=0;i=n;i+)coutHi=H1(i,x)(H2(i,x)endl;5_15#includevoid fun1(int x) /正序遞歸int t;if(x=0)return; t=x%10; fun1(x/10); coutt;void fun2(int x) /反序遞歸int t;if(x=0)return; t=x%10;cout0;i+)y/=10; /求x的位數(shù)ifor(;i0;i-) /輸出并去掉最高位y=x;for(j=i;j1;j-)y/=10;couty;for(;j0;x/=10)coutx%10;void main()int a=12345;fun1(a);coutn;fun2(a);coutn;fun3(a);coutn;fun4(a);couty)return x;else return y;/mypro.cpp(文件名)#include#includemyfun.hvoid main()float a,b,c,max;cinabc;couta=atb=btc=cn;max=fun_max(fun_max(a,b),c);cout最大數(shù)是:maxendl;5_17#include#define MAX(A,B) AB?A:B#define MIN(A,B) AB?B:Avoid main()int x,y,z,max,min;cinxyz;max=MAX(MAX(x,y),z);min=MIN(MIN(x,y),z);cout最大數(shù)是:maxt最小數(shù)是:minn;5_18#include#include#define AREA(a,b,c) sqrt(a+b+c)/2*(a+b+c)/2-a)*(a+b+c)/2-b)*(a+b+c)/2-c)double area(float a,float b,float c)return sqrt(a+b+c)/2*(a+b+c)/2-a)*(a+b+c)/2-b)*(a+b+c)/2-c);void main()float x,y,z,area1,area2;cinxyz;if(x+yz&y+zx&z+xy)area1=(float)AREA(x,y,z);area2=(float)area(x,y,z);coutarea=area1(area2)n;else cout輸入的值不正確!n;*5_14#includelong Acm(int m,int n)if(m0|n0)coutm和n為正整數(shù)!;exit(1);if(m=0)return n+1;if(n=0)return Acm(m-1,1);return Acm(m-1,Acm(m,n-1);void main()coutAcm(5,3)=Acm(5,3)n;coutAcm(4,2)=Acm(4,2)n;coutAcm(5,5)=Acm(5,5)n;注:第10、11、14和19不作要求。返回第六章練習(xí)題P.1186_1# include void main( ) int a9=1,2,3,4,5,6,7,8,9;int max1=0,max2=0,count=0;for(int k=0;kmax2)max2=ak;if(ak%2!=0)count+=1;if(akmax1)max1=ak;cout最大偶數(shù)是:max2endl;if(!count)cout沒有奇數(shù)!endl;else cout最大奇數(shù)是:max1endl;6_2# include void main( ) int i=0,count1=0,count2=0,a100;float sum=0;for(int k=0;kak;if(ak=0)break;for(int j=0;aj;j+)sum+=aj;if(aj0)count1+=1;else count2+=1;coutaverage=sum/(count1+count2)endl;cout正數(shù)個(gè)數(shù)是:count1t負(fù)數(shù)個(gè)數(shù)是:count2endl;6_3# include void input(float a,int n)for(int i=0;iai;void sort(float a,int n)for(int i=0;in-1;i+)for(int j=i+1;jaj)float t=ai;ai=aj;aj=t;void output(float a,int n)for(int i=0;in;i+)coutait;coutendl;void main( ) float a10;input(a,10);sort(a,10);output(a,10);6_4# include void input(float a,int n)for(int i=0;iai;float fun_M(float a,int n)float M=0;for(int i=0;in-1;i+)M+=ai;return M/n;float fun_D(float a,int n)float D=0;float M=fun_M(a,n);for(int i=0;in;input(a,n);coutD=fun_D(a,n)endl;6_5#includevoid main()int i,j,sum=0;int a44;for(i=0;i4;i+)for(int j=0;jaij;coutn;for(i=0;i4;i+)for(j=0;j4;j+)if(i=j|(i+j)=3)sum+=aij;coutsum=sumendl;6_6#include#includevoid main()int i,j,t;int a44;for(i=0;i4;i+)for(int j=0;jaij;for(i=0;i4;i+)for(int j=0;j4;j+)coutsetw(6)aij;coutn;cout轉(zhuǎn)置后:n;for(i=0;i4;i+)for(j=i;j4;j+)t=aij;aij=aji;aji=t;for(i=0;i4;i+)for(int j=0;j4;j+)coutsetw(6)aij;coutn;6_7#includevoid input(float a2,int n)for(int i=0;in;i+)for(int j=0;jaij;float average(float a2,int n)float ave=0;for(int i=0;in;i+)for(int j=0;j2;j+)ave+=aij;return ave/(2*n);float average1(float a2,int n)float ave1=0;for(int i=0;in;i+)ave1+=ai0;return ave1/n;float average2(float a2,int n)float ave2=0;for(int i=0;in;i+)ave2+=ai1;return ave2/n;void main()int n;float cla502;cout請(qǐng)輸入班級(jí)人數(shù)!n;cout班級(jí)人數(shù)為:n。n;cout請(qǐng)依次輸入成績(jī)!n;input(cla,n);cout全班平均成績(jī)?yōu)椋篴verage(cla,n) !n;coutc+平均成績(jī)?yōu)椋篴verage1(cla,n) !n;cout應(yīng)用基礎(chǔ)平均成績(jī)?yōu)椋篴verage2(cla,n) !n;6_8_1#includevoid main()char S200;cin.getline(S,200);coutS=Sn;for(int i=0;Si;i+)if(Si= )for(int j=i;Sj;j+)Sj=Sj+1;i-;cout刪除空格后S=Sendl;6_8_2#includevoid main()char S200,S1200;cin.getline(S,200);coutS=Sn;for(int j=0,i=0;Si;i+)if(Si!= )S1j+=Si;S1j=0;for(int k=0;S1k;k+)Sk=S1k;Sk=0;cout刪除空格后S=Sendl;6_9_1#include#includevoid main()int k;char S200,t;cin.getline(S,200);coutS=Sn;k=strlen(S);for(int i=0;ik/2;i+)t=Si;Si=Sk-i-1;Sk-i-1=t;cout反序?yàn)椋篠endl;6_9_2#include#includevoid main()int k;char S200;cin.getline(S,200);coutS=Sn;k=strlen(S);cout=0;i-)coutSi;coutendl;6_10#includeint strlen(char s)for(int i=0;si;i+);return i;void main()char S200;cin.getline(S,200);coutS=Sn;cout字符串S的長(zhǎng)度為:strlen(S)endl;6_11#includevoid strcpy(char a,char b)for(int i=0;bi;i+)ai=bi;ai=0;void main()char Sa200,Sb200;cin.getline(Sb,200);coutSb=Sbn;strcpy(Sa,Sb);coutSa=Saendl;6_12#includevoid strcat(char a,char b)for(int i=0;ai;i+);for(int j=0;bj;j+,i+)ai=bj;ai=0;void main()char Sa200,Sb200;cin.getline(Sa,200);cin.getline(Sb,200);coutSa=San;coutSb=Sbn;strcat(Sa,Sb);coutSa=Saendl;6_13#include#includevoid main()int a200,b200,l,i=2,k=0;do a0=2;a1=3;ai+=ai-1+2;while(ai200);for(i=0;ai200;i+)l=(int)sqrt(ai);for(int j=3;j=l+1)bk+=ai;bk=0;for(i=0;bi;i+)coutbit;coutendl;返回第七章練習(xí)題 P.1357_1struct birthint year;int month;int day;birthday;注:類型為birth,變量為birthday。7_2struct stchar name10;char adress50;int telephone;int code;st1;注:類型為st,變量為st1。7_3結(jié)構(gòu)體內(nèi)變量y重名。7_4結(jié)構(gòu)體變量s1、s2、s3、s4不能整體輸入輸出,s1和s3、s2和s4是不同類型的變量,不能相互賦值。7_5#include#define N 10struct char name10, adress50;int telephone,code;stN;void main()int i;for(i=0;sti.

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論