VisualC++面向?qū)ο缶幊探坛痰?版王育堅(jiān)清華大學(xué)出版社課后答案_第1頁
VisualC++面向?qū)ο缶幊探坛痰?版王育堅(jiān)清華大學(xué)出版社課后答案_第2頁
VisualC++面向?qū)ο缶幊探坛痰?版王育堅(jiān)清華大學(xué)出版社課后答案_第3頁
VisualC++面向?qū)ο缶幊探坛痰?版王育堅(jiān)清華大學(xué)出版社課后答案_第4頁
VisualC++面向?qū)ο缶幊探坛痰?版王育堅(jiān)清華大學(xué)出版社課后答案_第5頁
已閱讀5頁,還剩99頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、2-45編寫一個(gè)程序,輸入三角形的三條邊的邊長(zhǎng),求三角形的面積。2-45#include<iostream.h>#include<math.h>int main()int a,b,c;int s,S;cin>>a>>b>>c;s=(a+b+c)/2;S=powl(s*(s-a)*(s-b)*(s-c),0.5);if(S=0)cout<<"此三邊不能構(gòu)成三角形!"<<endl;elsecout<<"面積:"<<endl;cout<<S&

2、lt;<endl;return 0; 2-46從鍵盤輸入一個(gè)大寫字母,然后改用小寫字母在屏幕輸出。2-46#include<iostream.h>int main()char ch;int a;cout<<"輸入一個(gè)大寫字母:"<<endl;cin>>ch;if(ch>=65 && ch<=91)ch=ch+32;/a=(int)ch;cout<<ch<<endl;else cout<<"該字母不是字母或不是字母大寫!"<<e

3、ndl;return 0;2-47用戶輸入兩個(gè)整數(shù),編程輸出稍大于第一個(gè)整數(shù)而又是第2個(gè)整數(shù)的倍數(shù)的數(shù)。計(jì)算公式是:valuel+value2-value1%value2.2-47#include<iostream.h>int main()int value1,value2;int result;cin>>value1>>value2;result=value1+value2-value1%value2; cout<<"該整數(shù)為:"<<result<<endl;return 0;2-48華氏溫度轉(zhuǎn)換為攝

4、氏溫度的公式是:C=(F-32)*5/9.。編寫一個(gè)程序,輸入一個(gè)華氏溫度,程序輸出相應(yīng)的攝氏溫度。請(qǐng)將32和5/9用const型變量表示。2-48#include<iostream.h>int main()const float i=32.0;const float j=5.0/9.0;float degFahr;float degCel;cin>>degFahr;/for(degFahr=0;degFahr<=300;degFahr+=10)/degCel=j*(degFahr-i);cout<<"華氏溫度:"<<d

5、egFahr<<endl;cout<<"攝氏溫度:"<<degCel<<endl;/return 0;2-49 從鍵盤輸入20個(gè)整數(shù),檢查100是否存在于這些整數(shù)中,若是的話,求出他是第幾個(gè)被輸入的。2-49#include<iostream.h>int main()int Array20;int i,count=0,c=0;for(i=0;i<20;i+)cin>>Arrayi;for(i=0;i<20;i+)if(Arrayi=100 && count=0)cout<

6、;<"100存在該數(shù)組中!"<<endl;count+;if(Arrayi!=100)c+;if(c=19)cout<<"100不存在該數(shù)組中!"<<endl;for(i=0;i<20;i+)if(Arrayi=100)cout<<"它是第"<<i+1<<"個(gè)被輸入的!"<<endl;return 0;2-50 從鍵盤輸入一個(gè)N X N的整型數(shù)組,并將每一行的最大值顯示輸出。2-50#include<iostrea

7、m.h>int main()int Array100100=0;int n,temp;cin>>n;for(int i=0;i<n;i+)for(int j=0;j<n;j+)cin>>Arrayij;for(int x=0;x<n;x+)for(int y=x+1;y<n;y+)if(Arrayix<Arrayiy)temp=Arrayix;Arrayix=Arrayiy;Arrayiy=temp;cout<<"每一行的最大值:"<<endl;for(i=0;i<n;i+)cout&

8、lt;<Arrayi0<<" "cout<<endl;2-51 輸入三個(gè)整數(shù),采用指針方法將三個(gè)數(shù)按從大到小的順序輸出。2-51#include<iostream.h>#include<math.h>int main()int Array3;int *pA=Array;int *a=Array;int i;int temp;for(i=0;i<3;i+)cin>>Arrayi;for(i=0;i<3;i+)a+;if(*pA<*a)temp=*pA;*pA=*a;*a=temp;a+;pA+

9、;a=&Array0;for(i=0;i<3;i+)cout<<Arrayi<<" "return 0;2-52 采用指針方法將一個(gè)數(shù)組中的所有元素顛倒順序,結(jié)果仍然存放在原來的數(shù)組中,要求使用最少的輔助存儲(chǔ)單元2-52#include<iostream.h>int main()int n;cout<<"輸入數(shù)組的長(zhǎng)度(小于100):"<<endl;cin>>n;cout<<"輸入"<<n<<"個(gè)數(shù):&q

10、uot;<<endl;int Array100;int *pA=Array;int i;for(i=0;i<n;i+)cin>>Arrayi;pA+;for(i=0;i<n;i+)pA-;cout<<*pA<<" "return 0;2-53輸入兩個(gè)字符串,如果兩個(gè)字符串的字符和長(zhǎng)度都相同(認(rèn)為它們相等),在屏幕上輸出“Equal”,否則在屏幕上輸出“Unequal”。要求使用字符指針。2-53#include<iostream.h>int main()char * pstr="Enter a

11、 string:"char str1100,str2100;cout<<pstr<<endl;cin.get(str1,100);cin.get();cin.get(str2,100);int len1=0,len2=0;while(str1len1!='0')len1+;while(str2len2!='0')len2+;if(len1!=len2)cout<<"Unequal"<<endl;else if(len1=len2)int i=0;for(i=0;i<len1;i+

12、)if(str1i=str2i)&&i<len1)continue;if(i=len1-1)cout<<"Equal"<<endl;else cout<<"Unequal"<<endl;return 0;2-54 編程將一個(gè)整數(shù)轉(zhuǎn)換成對(duì)應(yīng)的數(shù)字串,例如將值1234轉(zhuǎn)換為數(shù)字串“1234”。2-54#include<iostream.h>int main()int number;int Array100;int i,j;cin>>number;for(i=0;nu

13、mber!=0;i+)Arrayi=number%10;number=number/10;j=i;for(i=j;i>=0;i-)cout<<Arrayi-1<<" "cout<<endl;return 0;2-55 編程求兩個(gè)復(fù)數(shù)的和。2-55#include<iostream.h>int main()float a2,b2,c2;int i;for(i=0;i<2;i+)cin>>ai;for(i=0;i<2;i+)cin>>bi;for(i=0;i<2;i+)ci=ai+b

14、i;cout<<c0<<" "<<c1<<endl;return 0;2-56 使用結(jié)構(gòu)變量表示每個(gè)學(xué)生的信息:姓名、學(xué)號(hào)和三門課的成績(jī)。從鍵盤輸入10個(gè)學(xué)生的數(shù)據(jù),然后輸出每個(gè)學(xué)生的姓名和三門課的平均成績(jī)。2-56#include<stdio.h>struct studentchar num10;char name20;float grade3;float average;int main()student stu10;int i,j;float sum=0;for(i=0;i<=9;i+)printf(&

15、quot;Enter num:n");scanf("%s",&stui.num);printf("Enter name:n");scanf("%s",&);printf("Enter three grades:n");for(j=0;j<3;j+)scanf("%f",&stui.gradej);sum+=stui.gradej;stui.average=sum/3;printf("%f %sn",stui.avera

16、ge,);return 0;2-57 用結(jié)構(gòu)數(shù)組建立并初始化一個(gè)工資表,然后輸入一個(gè)人的姓名,查詢其工資情況,并在屏幕上輸出。2-572-58用枚舉值MON、TUE、WED、THU、FRI、SAT和SUN表示一個(gè)星期中的7天。從鍵盤輸入一個(gè)06之間的整數(shù),根據(jù)輸入的整數(shù)輸出對(duì)應(yīng)的英文縮寫。2-582-59 編寫一個(gè)求解一元二次方程的根的程序,方程的系數(shù)由用戶輸入。2-59#include<iostream.h>#include<math.h>int main()int a,b,c;int R;float p;float x1,x2;cin>>

17、;a>>b>>c;R=b*b-4*a*c;if(R>=0)p=sqrt(R);x1=(-b+p)/(2*a);x2=(-b-p)/(2*a);if(x1=x2)cout<<"僅且只有一個(gè)根"<<x1<<endl;elsecout<<"有兩個(gè)不同的根"<<x1<<x2<<endl;else if(R<0) cout<<"無根"<<endl;return 0;2-60 從鍵盤輸入一個(gè)字符,判斷輸入

18、的字符是m、a、n或其他字符。如果是m則輸出“Good morning!”;如果是a則輸出“Good afternoon!”;如果是n則輸出“Good night!”;如果是其他字符則輸出“I cant undersrand!”。2-60 2-61 編程實(shí)現(xiàn)兩個(gè)整數(shù)的加、減、乘、除四則運(yùn)算,運(yùn)算式形如“32+120”。2-612-62編寫一個(gè)程序,利用swith語句將百分制的學(xué)生成績(jī)轉(zhuǎn)換為優(yōu)、良、中、及格和不及格5分制成績(jī)。2-622-63從鍵盤輸入一個(gè)字符,判斷輸入的字符是數(shù)字、空格還是其他字符,并給出相應(yīng)的提示信息。2-63#include<iostream.h>int mai

19、n()char ch;cout<<"請(qǐng)輸入一個(gè)字符:"cin.get(ch);if(ch=' ')cout<<"這是一個(gè)空格!"<<endl;else if(ch>='0')&&(ch<='9')cout<<"這是一個(gè)數(shù)字!"<<endl;else cout<<"這是一個(gè)其他字符!"<<endl;return 0;2-64 從鍵盤輸入一個(gè)字符序列,編程統(tǒng)計(jì)其

20、中的數(shù)字個(gè)數(shù)和英文字母?jìng)€(gè)數(shù)。輸入的字符序列以“#”作為結(jié)束符。2-64#include<iostream.h>int main()char symbol100;int i,end,j=0,k=0;cin>>symbol;for(i=0;i<100;i+)if(symboli='#')end=i;break;for(i=0;i<end;i+)if(symboli>='0') && (symboli<='9')j+;else k+;cout<<"digit:&quo

21、t;<<j<<endl;cout<<"letter:"<<k<<endl;return 0;2-65 輸入一個(gè)由若干單詞組成的文本串,每個(gè)單詞之間用一些空格分隔,統(tǒng)計(jì)此文本串單詞的個(gè)數(shù)。2-65#include<iostream.h>int main()char str1000;int count=1;cin.get(str,1000);/while(!str0)/for(int i=0;stri!=0;i+)if(stri=' ' && stri+1!=' &#

22、39;)count+;/cout<<"the count is:"<<count<<endl;return 0;2-67 編程求值,使用如下公式:/4=1-1/3+1/5-1/7+,直到最后一項(xiàng)的絕對(duì)值小于10-6為止。2-67(1)#include<iostream.h>#include<math.h>int main()int i,n=1,j=1;double s=0;for(i=0;(2*i+1)<pow(10,6);i+)/*cout<<i<<endl;cout<<

23、"*"cout<<2*i+1<<endl;cout<<"*"cout<<pow(2*i+1),-1)<<endl;cout<<"*"*/s+=pow(2*i+1),-1)*n;/j=2*i+1;n=n*(-1);cout<<i<<endl;cout<<4*s<<endl;return 0;2-67(2)#include<iostream.h>#include<math.h>int main()

24、float i=0;double s=0;for(i=0;2*i+1<pow(10,6);i+)s+=pow(-1,i)*(1/(2*i+1);cout<<s*4<<endl;return 0;2-68 把100150之間不能被3整除的數(shù)輸出,要求一行輸出10個(gè)數(shù)。2-68 2-69 編程輸出一個(gè)九九乘法表。2-69#include<iostream.h>int main()char table99;int i,j,X,Y;for(i=0;i<9;i+)for(j=0;j<9;j+)X=i+1;Y=j+1;if(X>=Y)cout&l

25、t;<X*Y<<' 'cout<<endl;return 0;2-70編程計(jì)算整型數(shù)各位數(shù)字之和,例如數(shù)2007各位數(shù)字之和為2+0+0+7=9.2-70#include<iostream.h>int main()int num;int sum=0,i;cin>>num;for(i=0;num!=0;i+)sum+=num%10;num=num/10;cout<<"sum="<<sum<<endl;return 0;2-71 輸入n個(gè)整數(shù),利用冒泡排序法將它們從小到大排

26、列,并在屏幕上輸出。2-71#include<iostream.h>int main()int n;int i,j,temp;int num100;cin>>n;for(i=0;i<n;i+)cin>>numi;for(i=0;i<n;i+)for(j=i+1;j<n;j+)if(numi<numj)temp=numi;numi=numj;numj=temp;for(i=0;i<n;i+)cout<<numi<<' 'cout<<endl;return 0;2-72 編程求出從

27、鍵盤輸入的10個(gè)數(shù)之和,遇到負(fù)數(shù)時(shí)終止輸入求和。2-72#include<iostream.h>int main()int Array10;int sum=0;for(int i=0;i<10;i+)cin>>Arrayi;if(Arrayi>0)sum+=Arrayi;else break;cout<<sum<<endl;return 0;2-73 編程求出從鍵盤輸入的10個(gè)數(shù)中所有正數(shù)之和,負(fù)數(shù)不參加求和。2-73#include<iostream.h>int main()int num10;int i,sum=0;f

28、or(i=0;i<=9;i+)cin>>numi;if(numi>0)sum+=numi;cout<<"sum is "<<sum<<endl;return 0;2-74 設(shè)計(jì)函數(shù)prime(),它只帶一個(gè)整型參數(shù),當(dāng)這個(gè)參數(shù)的值是素?cái)?shù)時(shí),該函數(shù)返回非0,否則返回0.利用這個(gè)函數(shù)編寫一個(gè)程序來驗(yàn)證哥德巴赫猜想:任何一個(gè)大于2的偶數(shù)都可以表示成兩個(gè)素?cái)?shù)之和。2-74#include<iostream.h>int prime(int x)int i;for(i=2;i<x/2;i+)if(x%i=0)

29、return 0; return x;int main()int a,b,c,d;int j=2,k;cin>>a;if(a>2 && a%2=0)for(j=2;j<a;j+)b=prime(j);if(b=j)c=a-b;d=prime(c);if(d=c)cout<<"該定理成立!"<<endl;else cout<<"此數(shù)不是大于2的偶數(shù)!"<<endl;return 0;2-75 編制如下函數(shù)原型的函數(shù):int index(const char *str ,

30、char c),這個(gè)函數(shù)返回字符串str中第一次出現(xiàn)字符c的位置。2-75#include<iostream.h>int index(const char *str,char c)int count=1;int Ccount=0;for(int i=0;stri!='0'i+)if(stri=c && Ccount=0)Ccount+;break;count+;return count;int main()char string100;char C;int V=0;int result;cin>>string;cin>>C;w

31、hile(stringV!='0')V+;result=index(string,C);if(V+1)=result)cout<<"此字符不在字符串中!"<<endl;elsecout<<result<<endl;return 0;2-76 首先編寫以下函數(shù)聲明的函數(shù):void swap(float* px,float*py),該函數(shù)用于交換兩個(gè)實(shí)型變量的值,然后編寫一個(gè)主函數(shù)驗(yàn)證函數(shù)swap()的功能。2-76#include<iostream.h>void swap(float *px,floa

32、t *py)float temp;temp=*px;*px=*py;*py=temp;int main()float X,Y;cin>>X>>Y;swap(&X,&Y);cout<<"使用swap函數(shù)的值"cout<<X<<' '<<Y<<endl;/*float temp;temp=X;X=Y;Y=temp;*/cout<<"驗(yàn)證值: "<<X<<' '<<Y<<

33、endl;return 0;2-77 定義將一個(gè)字符串反轉(zhuǎn)的函數(shù),例如將字符串“abcd”反轉(zhuǎn)為“dcba”。2-77#include<iostream.h>#include<string.h>int Array(char *s)int j,n;char string100;strcpy(string,s);for(j=0;j<100;j+)if(stringj='0')n=j;return n;int main()char str100;int i,z;cin>>str;z=Array(str);/cout<<z;for(

34、i=z;i>=0;i-)cout<<stri;cout<<endl;return 0;2-78 首先編寫一個(gè)冒泡排序函數(shù),然后在主函數(shù)中調(diào)用排序函數(shù)對(duì)10個(gè)整數(shù)從小到達(dá)進(jìn)行排序。提示:采用數(shù)組名作為函數(shù)參數(shù)。2-782-79將習(xí)題2-76中的swap()函數(shù)改為內(nèi)聯(lián)函數(shù),并實(shí)現(xiàn)相同的程序功能。2-79#include<iostream.h>inline void swap(float *px,float *py)float temp;temp=*px;*px=*py;*py=temp;int main()float X,Y;cin>>X&g

35、t;>Y;swap(&X,&Y);cout<<"使用swap函數(shù)的值"cout<<X<<' '<<Y<<endl;/*float temp;temp=X;X=Y;Y=temp;*/cout<<"驗(yàn)證值: "<<X<<' '<<Y<<endl;return 0;2-80 編寫一個(gè)函數(shù) maxmin(),該函數(shù)有兩個(gè)實(shí)型參數(shù),執(zhí)行函數(shù)后,第一個(gè)參數(shù)為兩個(gè)參數(shù)中值較大者,第二個(gè)參數(shù)為較小者

36、。要求使用引用作為函數(shù)參數(shù),并編寫主函數(shù)驗(yàn)證函數(shù)功能。2-80#include<iostream.h>void maxmin(int &A,int &B)int temp;if(A<B)temp=A;A=B;B=temp;int main()int X,Y;cin>>X>>Y;maxmin(X,Y);cout<<X<<' '<<Y<<endl;return 0;2-81 編寫一個(gè)函數(shù) swapstruct(),實(shí)現(xiàn)交換兩個(gè)結(jié)構(gòu)變量的功能。編寫主函數(shù)驗(yàn)證函數(shù)swapstruc

37、t()的功能,要求使用引用傳遞參數(shù)。2-81#include<iostream.h>#include<string.h>struct studentchar name20;int score;void swapstruct(student &s1,student &s2)int temp;char s20;strcpy(s,);strcpy(,);strcpy(,s);temp=s1.score;s1.score=s2.score;s2.score=temp;int main()student st

38、u1="zhangsan",90;student stu2="lisi",85;cout<<"stu1:"<<<<' '<<stu1.score<<endl;cout<<"stu2:"<<<<' '<<stu2.score<<endl;swapstruct(stu1,stu2);cout<<"stu1:&qu

39、ot;<<<<' '<<stu1.score<<endl;cout<<"stu2:"<<<<' '<<stu2.score<<endl;return 0;2-82 編寫一個(gè)程序,在主函數(shù)main()的外部和內(nèi)部分別聲明兩個(gè)同名的整型變量并賦值,然后在主函數(shù)main()中分別訪問兩個(gè)變量。2-82#include<iostream.h>int i=3;int main()cout<&l

40、t;i<<endl;int i=5;cout<<i<<endl;return 0;2-83 一個(gè)程序由兩個(gè)C+源文件組成,在一個(gè)源文件中定義主函數(shù)main()并聲明一個(gè)外部整型變量n,在另一個(gè)源文件中定義一個(gè)不帶參數(shù)的函數(shù)factorial(void),該函數(shù)用于計(jì)算變量n的階乘。編程在主函數(shù)main()中輸入一個(gè)整數(shù)并求它的階乘。2-83#include<iostream.h>int factorial(int x)int y,pro=1;for(y=x;y>0;y-)pro*=y;return (pro);void main()int

41、n,R;cout<<"The number is:"cin>>n;R=factorial(n);cout<<"The product is:"<<R<<endl;2-84 采用外部函數(shù)的方式使用習(xí)題2-75中的函數(shù)index(),即在一個(gè)源文件中定義該函數(shù),然后在另一個(gè)源文件中調(diào)用該函數(shù)。2-842-85 編寫一段程序,利用new運(yùn)算動(dòng)態(tài)分配float型、long型和char型三個(gè)內(nèi)存單元,將它們的首地址分別賦給指針pf、pl和pc。給這些存儲(chǔ)但愿賦值,并在屏幕上顯示它們的值。最后利用delet

42、e運(yùn)算釋放所有動(dòng)態(tài)分配的內(nèi)存單元。2-85#include<iostream.h>int main()float *pf=new float;*pf=3.14;long *pl=new long;*pl=2135567889;char *pc=new char;*pc='A'cout<<*pf<<endl;cout<<*pl<<endl;cout<<*pc<<endl;delete pf;delete pl;delete pc;return 0;2-86 編寫一個(gè)程序,用new運(yùn)算為一個(gè)整型數(shù)組

43、動(dòng)態(tài)分配內(nèi)存空間,對(duì)其進(jìn)行賦值,并在屏幕上輸出。2-86#include<iostream.h>int main()int size;int num;cin>>size;int *f=new intsize;for(int i=0;i<size;i+)cin>>num;fi=num;for(i=0;i<size;i+)cout<<fi<<' 'delete f;return 0;2-87 采用動(dòng)態(tài)內(nèi)存分配方法設(shè)計(jì)一個(gè)學(xué)生成績(jī)處理程序,要求輸入任何數(shù)量學(xué)生的學(xué)號(hào)、姓名和四門課的成績(jī),并按平均成績(jī)的高低輸出每個(gè)

44、學(xué)生的高低輸出每個(gè)學(xué)生的姓名和成績(jī)。2-87#include<iostream.h>#include<string.h>struct studentint ID;char name20;int grade4;float average;int main()int num;int i,j,k,temp;float sum=0;char s20;cin>>num;student *stu=new studentnum;for(i=0;i<num;i+)cout<<"輸入第"<<i+1<<"人

45、的信息"<<endl;cout<<"ID:"cin>>stui.ID;cout<<"name:"cin>>;cout<<"grade:"for(j=0;j<4;j+)cin>>stui.gradej;sum+=stui.gradej;stui.average=sum/4;sum=0;cout<<"average:"<<stui.average<<endl;for(

46、i=0;i<num;i+) /排序for(j=i+1;j<num;j+)if(stui.average<stuj.average)strcpy(s,);strcpy(,);strcpy(,s);for(k=0;k<4;k+)temp=stui.gradek;stui.gradek=stuj.gradek;stuj.gradek=temp;cout<<"成績(jī)排名:"<<endl;cout<<"name"<<&quo

47、t; "<<"grade"<<endl;for(i=0;i<num;i+)cout<<<<" "for(j=0;j<4;j+)cout<<stui.gradej<<' 'cout<<endl;return 0;2-88輸入一行字符,建立一個(gè)鏈表,鏈表的每一個(gè)結(jié)點(diǎn)含有一個(gè)輸入的字符,通過訪問鏈表中的每個(gè)結(jié)點(diǎn)計(jì)算鏈表中結(jié)點(diǎn)的總個(gè)數(shù)。2-882-89 使用帶參數(shù)的宏定義計(jì)算兩個(gè)實(shí)數(shù)之和,并編寫主函數(shù)驗(yàn)證宏的功能。2-89#

48、include<iostream.h>#define sum(a,b) (a+b)int main()int x,y;cin>>x>>y;cout<<"主函數(shù)計(jì)算結(jié)果: "<<x+y<<endl;cout<<"宏定義函數(shù)結(jié)果: "<<sum(x,y)<<endl;return 0;2-90 定義一個(gè)帶參數(shù)的宏,求出三個(gè)數(shù)中最大的一個(gè)數(shù),并進(jìn)行驗(yàn)證。2-90#include<iostream.h>#define MAX(a,b) (a)&

49、gt;(b)?(a):(b)void main()int x,y,z;cin>>x>>y>>z;cout<<"宏定義參數(shù)結(jié)果 "cout<<MAX(MAX(x,y),z)<<endl;if(x>y)if(x>z)cout<<"驗(yàn)證結(jié)果為 "<<x<<endl;else cout<<"驗(yàn)證結(jié)果為 "<<z<<endl;elseif(y>z)cout<<"驗(yàn)

50、證結(jié)果為 "<<y<<endl;else cout<<"驗(yàn)證結(jié)果為 "<<z<<endl;2-91 輸入一個(gè)字符串,根據(jù)需要設(shè)置條件編譯,使之能將輸入的字符串以大寫字母的形式或小寫字母的形式輸出。2-91#include<iostream.h>int main()char str100;char X;int i;cin>>str;cout<<"是否輸出大寫形式?(Y or N)"<<endl;cin>>X;if(X='

51、Y')for(i=0;stri!='0'i+)stri=stri-32;cout<<stri;else if(X='N')for(i=0;stri!='0'i+)cout<<stri;cout<<endl;return 0;2-92 修改習(xí)題2-61中的求和程序,在程序中定義一個(gè)調(diào)試宏,利用條件編譯指令編譯不同的代碼段,使得在調(diào)試程序時(shí)能夠輸出一些調(diào)試信息。2-922-93 假設(shè)有三個(gè)文件:test13.h、test2.h和test.cpp,在test1.h中定義了一個(gè)宏P(guān)I,test2.h文件包含了t

52、est1.h文件,而test.cpp文件又包含了test1.h文件和test2.h文件。請(qǐng)問編譯時(shí)會(huì)出現(xiàn)什么錯(cuò)誤?如何解決?提示:宏的重復(fù)定義。2-933-44 一個(gè)名為CPerson 的類有如下屬性:姓名、身份證號(hào)、性別和年齡,請(qǐng)用 C+語言定義這個(gè)類,并為上述屬性定義相應(yīng)的方法。#include<iostream.h>#include<string.h>class CPersonprivate: char Name10; char ID20; char Sex4; int Age;public: CPerson(char *na,char *id,char *se,

53、int ag); void Show();CPerson:CPerson(char *na,char *id,char *se,int ag)strcpy(Name,na);strcpy(ID,id);strcpy(Sex,se);Age=ag;void CPerson:Show() cout<<"姓名:"<<Name<<endl; cout<<"身份證:"<<ID<<endl; cout<<"性別:"<<Sex<<endl;

54、cout<<"年齡:"<<Age<<endl;void main() CPerson person("王三","quot;,"男",21); person.Show();3-45 設(shè)計(jì)一個(gè)日期類 Date,該類用于表示日期值(年、月、日)。要求除了能夠通過相應(yīng)得成員函數(shù)設(shè)置和獲取日期外,還能夠?qū)崿F(xiàn)將日期加一天的操作。#include<iostream.h>class date int year; int month; int day; bo

55、ol flag;public: date() year=0; month=0; day=0; date(int yr,int mo,int da);void setdate();int getyear();int getmonth();int getday();void addday();void show();date:date(int yr,int mo,int da) flag=false; if(mo>=1&&mo<=12&&da>=1&&da<=31) year=yr; month=mo; day=da; els

56、e flag=true; void date:setdate() cout<<"請(qǐng)輸入年分"<<endl; cin>>year; cout<<"請(qǐng)輸入月份(1-12)"<<endl; cin>>month; while(month<1|month>12) cout<<"輸入有誤,請(qǐng)重新輸入月份(1-12)"<<endl; cin>>month; cout<<"請(qǐng)輸入日期(1-31)"&

57、lt;<endl; cin>>day; while(day<1|day>31) cout<<"輸入有誤,請(qǐng)重新輸入日期(1-31)"<<endl; cin>>day; flag=false;void date:show() if(!flag) cout<<year<<'/'<<month<<'/'<<day<<endl; else cout<<"日期設(shè)置有誤,不能輸出"<

溫馨提示

  • 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)論