版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
第一章作業(yè)答案.1.編寫程序,將華氏溫度轉化為攝氏溫度:公式:C=(5/9)*(F-32)程序代碼:#include<iostream>usingnamespacestd;voidmain(){floatF,C;cout<<"PleaseinputF:";cin>>F;C=5*(F-32)/9.0;cout<<"C="<<C<<endl;
}
運行結果:2.編寫程序,輸入圓柱體的半徑r與高h,計算圓柱體的體積。程序代碼:#include<iostream>usingnamespacestd;voidmain(){floatr,h,v;cout<<"Pleaseinputrh:";cin>>r>>h;v=PI*r*r*h;cout<<"v="<<v<<endl;}運行結果:3.輸入三角形的三條邊a,b,c,利用海倫公式計算三角形的面積area.若則area=程序代碼:#include<iostream>#include<math.h>usingnamespacestd;voidmain(){floata,b,c,p,area;cout<<"Pleaseinputabc:";cin>>a>>b>>c;if((a+b>c)&&(b+c>a)&&(a+c>b)){p=(a+b+c)/2.0;area=sqrt(p*(p-a)*(p-b)*(p-c));cout<<"area="<<area<<endl;}elsecout<<"inputerror!"<<endl;}運行結果:4.輸入a,b,c的值,求一元二次方程:的解。程序代碼:#include<iostream>#include<math.h>usingnamespacestd;voidmain(){floata,b,c,p,x1,x2;cout<<"Pleaseinputabc:";cin>>a>>b>>c;p=b*b-4*a*c;if(p>=0){x1=(-b+sqrt(p))/(2*a);x2=(-b-sqrt(p))/(2*a);cout<<"x1="<<x1<<endl;cout<<"x2="<<x2<<endl;}elsecout<<"NOrealroot!";}運行結果第二章作業(yè)答案1.輸入一個整數(shù),計算該數(shù)的階乘。程序代碼:#include<iostream>usingnamespacestd;voidmain(){inti,n,p=1;cin>>n;for(i=1;i<=n;i++) p=p*i;cout<<n<<"!="<<p<<endl;}運行結果:2.連續(xù)輸入若干個整數(shù),輸入0結束。統(tǒng)計其正整數(shù)的個數(shù),并計算其中正整數(shù)的總與、平均值并輸出。程序代碼:#include<iostream>usingnamespacestd;voidmain(){inta,n=0;floatavg,sum=0;do{cin>>a;if(a>0){n++;sum+=a;}}while(a!=0);avg=sum/n;cout<<"n="<<n<<endl;cout<<"avg="<<avg<<endl;cout<<"sum="<<sum<<endl;}3.輸出所有的水仙花數(shù)。所謂“水仙花數(shù)”是一個三位數(shù),其各位數(shù)字的立方與等于該數(shù)本身。如153=13+53+33
程序代碼:#include<iostream>usingnamespacestd;voidmain(){inta,b,c,n;for(n=100;n<1000;n++){a=n%10;b=n%100/10;c=n/100;if(n==a*a*a+b*b*b+c*c*c) cout<<n<<endl;}}運行結果:作業(yè)答案1.
編寫程序輸出兩個數(shù)的最大公約數(shù)與最小公倍數(shù)。2.
計算100---300之內(nèi)所有素數(shù)的與。3.
計算s=1-1/3+1/5-1/7+…1/994.N是一個四位數(shù),它的9倍恰好是其反序數(shù)(例如:123的反序數(shù)是321),求N的值。第一題:程序代碼://用輾轉相除法求最大公約數(shù);#include<iostream>usingnamespacestd;voidmain(){intm,n,r,temp;cin>>m>>n;temp=m*n;while(r=m%n){m=n;n=r;}cout<<"最大公約數(shù)="<<n<<endl;cout<<"最小公倍數(shù)="<<temp/n<<endl;}運行結果:第二題:程序代碼:#include<iostream>usingnamespacestd;voidmain(){intn,i,s=0;for(n=100;n<300;n++){for(i=2;i<n;i++) if(n%i==0)break;if(i==n)s+=n;}cout<<"s="<<s<<endl;}運行結果:第三題:程序代碼:#include<iostream>usingnamespacestd;voidmain(){intn=1;floats=0,f=1,p;for(n=1;n<100;n+=2){p=f/n;s=s+p;f=-f;}cout<<"s="<<s<<endl;}運行結果:
第四題:程序代碼:#include<iostream>usingnamespacestd;voidmain(){intn,a,b,c,d;for(n=1000;n<10000;n++){a=n/1000;//千位b=n%1000/100;//百位c=n%100/10;//十位d=n%10;//個位if(9*n==d*1000+c*100+b*10+a) cout<<n<<endl;}}運行結果:第四次作業(yè)答案1.
編寫兩個函數(shù),分別計算兩個整數(shù)的最大公約數(shù)與最小公倍數(shù),并在主函數(shù)中調用該函數(shù),并輸出結果。2.
編寫一個判斷素數(shù)的函數(shù),函數(shù)原型為:intisprime(intn),在主函數(shù)中調用該函數(shù),計算100—1000之間所有素數(shù)的與。3.
編寫一個函數(shù),f(n)=,并在主函數(shù)中輸出f(10)的值。(說明自然對數(shù)ln的函數(shù)原型為doublelog(floatx).4.
編寫一個計算階乘的函數(shù),函數(shù)原型為intfac(intn),在主函數(shù)中調用該函數(shù),計算:S=M!+N!.第一題:程序代碼:#include<iostream>usingnamespacestd;//求最大公約數(shù)intgcd(intm,intn){intr;while(r=m%n){m=n;n=r;}returnn;}
//求最小公倍數(shù)intlcd(intm,intn){returnm*n/gcd(m,n);}voidmain(){inta,b;cin>>a>>b;cout<<"最大公約數(shù)為:"<<gcd(a,b)<<endl;cout<<"最小公倍數(shù)為:"<<lcd(a,b)<<endl;}運行結果:第二題:程序代碼:#include<iostream>usingnamespacestd;//判斷素數(shù)的函數(shù),若n為素數(shù),函數(shù)返回1,否則返回0;intisprime(intn){inti;for(i=2;i<n;i++) if(n%i==0)return0;return1;}voidmain(){inti,s=0;for(i=100;i<1000;i++) if(isprime(i))s=s+i;cout<<"s="<<s<<endl;}運行結果:第三題:程序代碼:#include<iostream>#include<math.h>usingnamespacestd;doublef(intn){inti;doubles=0;for(i=2;i<=n;i++) s=s+log(i);returnsqrt(s);}voidmain(){ cout<<f(10)<<endl;}運行結果:第四題:程序代碼:#include<iostream>usingnamespacestd;//用遞歸編寫計算階乘的函數(shù)intfac(intn){if(n==0||n==1)return1;elsereturnn*fac(n-1);}voidmain(){intM,N,s;cin>>M>>N;s=fac(M)+fac(N);cout<<M<<"!+"<<N<<"!="<<s<<endl;}運行結果:第五章第六次上機內(nèi)容1、
定義一個3行4列的數(shù)組,計算所有數(shù)據(jù)的平均值,并輸出最大值與最小值與它的行號與列號。2、
編寫程序,實現(xiàn)一個一維數(shù)組的反序存放。3、
用選擇排序法實現(xiàn)10整數(shù)由小到大排序。4、
用冒泡法實現(xiàn)10整數(shù)由大到小排序。
第一題:程序代碼:#include<iostream.h>voidmain(){inta[3][4]={{12,6,25,10},{14,9,20,16},{30,22,5,21}};inti,j,m,n,k,l,max,min;max=min=a[0][0];m=n=0;for(i=0;i<3;i++) for(j=0;j<4;j++) if(a[i][j]>max){max=a[i][j];m=i;n=j;} elseif(a[i][j]<min){min=a[i][j];k=i;l=j;}cout<<"max="<<max<<endl;cout<<"行號:"<<m<<"列號:"<<n<<endl;cout<<"min="<<min<<endl;cout<<"行號:"<<k<<"列號:"<<l<<endl;}運行結果:
第二題:程序代碼:#include<iostream.h>#defineN6voidmain(){inta[N]={12,10,20,21,30,25};inti,t;for(i=0;i<N/2;i++){t=a[i];a[i]=a[N-i-1];a[N-i-1]=t;}for(i=0;i<N;i++) cout<<a[i]<<"";cout<<endl;
}
運行結果:
第三題:程序代碼:#include<iostream.h>#defineN10//選擇排序voidmain(){inta[N]={30,21,15,38,25,35,18,28,45,20};inti,j,t,k;for(i=0;i<N-1;i++){k=i; for(j=i+1;j<N;j++) if(a[j]<a[k])k=j; if(k!=i){t=a[i];a[i]=a[k];a[k]=t;}}for(i=0;i<N;i++) cout<<a[i]<<"";cout<<endl;}運行結果:第四題:程序代碼:#include<iostream.h>#defineN10//冒泡排序,由大到小排序voidmain(){inta[N]={30,21,15,38,25,35,18,28,45,20};inti,j,t,k;for(i=0;i<N-1;i++){k=0; for(j=0;j<N-i-1;j++) if(a[j]<a[j+1]) {t=a[j];a[j]=a[j+1];a[j+1]=t;k=1;}if(k==0)break;}for(i=0;i<N;i++) cout<<a[i]<<"";cout<<endl;}運行結果:第七次作業(yè)1.定義一個二維數(shù)組inta[3][4],分別用指針法與下標法輸出其內(nèi)容。2.用數(shù)組作為函數(shù)參數(shù),并通過函數(shù)調用還回最大值,最小值與平均值。函數(shù)原型維:voidfun(inta[10],int*max,int*min,float*avg)3.編寫一個函數(shù)voidfun(inta[],intn),將a[]中的n個元素按反序存放,在main函數(shù)中調用該函數(shù),分別用數(shù)組與指針作為實參。4.用冒泡法或選擇法編寫一個排序的函數(shù),然后在主程序中調用該函數(shù)實現(xiàn)10個整數(shù)的排序。
第一題程序代碼:#include<stdio.h>voidmain(){inta[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};inti,j;int*p;int(*pp)[4];//用下標法實現(xiàn);for(i=0;i<3;i++){for(j=0;j<4;j++) printf("%3d",a[i][j]);printf("\n");}
//用列指針實現(xiàn);p=&a[0][0];for(i=0;i<12;i++) printf("%3d",*(p+i));printf("\n");
//用行指針實現(xiàn);pp=a;for(i=0;i<3;i++){for(j=0;j<4;j++)printf("%3d",*(*(pp+i)+j));printf("\n");}}
運行結果截圖:
第二題:程序代碼:#include<stdio.h>voidfun(inta[10],int*max,int*min,float*avg){inti,s=0;*max=*min=a[0];for(i=0;i<10;i++){if(*max<a[i])*max=a[i];elseif(*min>a[i])*min=a[i];s+=a[i];}*avg=s/10.0;}
voidmain(){inta[10]={10,21,8,22,40,23,32,26,30,12};intmax,min;floatavg;fun(a,&max,&min,&avg);printf("max=%d\n",max);printf("min=%d\n",min);printf("avg=%6.2f\n",avg);}
運行結果截屏:第三題:程序代碼:#include<stdio.h>voidfun(inta[],intn){inti,t;for(i=0;i<n/2;i++){t=a[i];a[i]=a[n-i-1];a[n-i-1]=t;}}
voidmain(){inta[6]={20,12,6,21,29,15};int*p,i;//用數(shù)組作為函數(shù)的實參;printf("原先數(shù)組的序列:\n");for(i=0;i<6;i++) printf("%4d",a[i]);printf("\n");printf("用數(shù)組作為實參,交換后的序列:\n");fun(a,6);for(i=0;i<6;i++) printf("%4d",a[i]);printf("\n");//用指針作為函數(shù)的實參printf("用指向數(shù)組的指針作為實參,再次交換后的序列:\n");p=a;fun(p,6);for(i=0;i<6;i++) printf("%4d",a[i]);printf("\n");}
運行結果截屏:第四題:程序代碼:#include<stdio.h>//用選擇法編寫數(shù)組排序函數(shù),按從小到大順序排序voidsort1(inta[],intn){inti,j,k,t;for(i=0;i<n-1;i++){k=i; for(j=i+1;j<n;j++) if(a[k]>a[j])k=j; if(k!=i){t=a[i];a[i]=a[k];a[k]=t;}}}//用冒泡法排序,按從小到大順序排序
voidsort2(inta[],intn){inti,j,t,f;for(i=0;i<n;i++){f=1;for(j=0;j<n-i-1;j++) if(a[j]>a[j+1]) {t=a[j];a[j]=a[j+1];a[j+1]=t;f=0;}if(f==1)break;}}
voidmain(){inta[10]={40,23,26,20,35,55,12,43,37,45};inti;printf("排序前的序列:\n");for(i=0;i<10;i++) printf("%4d",a[i]);printf("\n");printf("選擇排序后的序列:\n");sort1(a,10);for(i=0;i<10;i++) printf("%4d",a[i]);printf("\n冒泡排序后的序列:\n");sort2(a,10);for(i=0;i<10;i++) printf("%4d",a[i]);printf("\n");}
運行結果截屏:第八次作業(yè)1.
設數(shù)組a[N]中已經(jīng)有n個數(shù)并已按從小到大順序排序。要求輸入一個數(shù)x,將其插入到數(shù)組中,使數(shù)組仍然有序。#include<iostream>usingnamespacestd;voidmain(){inta[10]={4,6,8,10,20};inti,j,x;cin>>x;for(i=0;i<9;i++){if(a[i]>x)//尋找插入點; { for(j=9;j>i;j--)//將元素向后移動一位; a[j]=a[j-1]; a[i]=x;//空出位置,插入元素x; break; }}for(i=0;i<10;i++) cout<<a[i]<<"";}2.
編寫函數(shù)intff(char*s),判斷s所指字符串是否為“回文串”,即前后對稱。如abcba為回文串,若是返回1,否則返回0,并在主程序中調用該函數(shù),對輸入的字符串進行判斷。#include<iostream.h>#include<string.h>intff(char*s){intn,i;n=strlen(s);for(i=0;i<n/2;i++) if(s[i]!=s[n-i-1])return0;return1;}voidmain(){charss[20];cin>>ss;if(ff(ss))cout<<"YES!"<<endl;elsecout<<"NO!"<<endl;}3.
編寫一個函數(shù)voidstrcp(char*s1,char*s2),將字符數(shù)組s1中下標為偶數(shù)的元素復制到另一個字符數(shù)組s2中。在主程序中調用該函數(shù),輸出這個字符串。#include<iostream.h>//將字符串s1中下標為偶數(shù)的字符復制到s2中。voidstrcp(char*s1,char*s2){inti=0,j=0;for(i=0;s1[i]!='\0';i++) if(i%2==0)s2[j++]=s1[i];s2[j]='\0';}intmain(){chars[]="Nanchang!";charss[10];strcp(s,ss);cout<<s<<endl;cout<<ss<<endl;return0;}4.
輸入一行字符,統(tǒng)計其中字母,數(shù)字,空格與其他字符的個數(shù)。#include<iostream.h>intmain(){chars[100];intB=0,L=0,D=0,S=0,T=0,i;cin.getline(s,100,'\n');for(i=0;s[i]!='\0';i++) if(s[i]>='A'&&s[i]<='Z')B++; elseif(s[i]>='a'&&s[i]<='z')L++; elseif(s[i]>='0'&&s[i]<='9')D++; elseif(s[i]=='')S++; elseT++;cout<<"大寫字符個數(shù):"<<B<<endl;cout<<"小寫字符個數(shù):"<<L<<endl;cout<<"數(shù)字字符個數(shù):"<<D<<endl;cout<<"空格字符個數(shù):"<<S<<endl;cout<<"其他字符個數(shù):"<<T<<endl;return0;}第九次作業(yè)1、編寫一個程序,采用類計算n!,并輸出10!的值.#include<iostream.h>classJS{public: JS(inta)//構造函數(shù); {n=a;} intfac()//計算N的階乘; {inti,p=1; for(i=1;i<n;i++) p=p*i; returnp; }private: intn;};intmain(){JSobj(10);//定義對象;ints;s=obj.fac();//調用對象的方法計算階乘;cout<<s<<endl;return0;}2、定義并實現(xiàn)一個矩形類,有長寬兩個屬性,定義一個構造函數(shù)初始化對象,用成員函數(shù)GetS()、GetL分別計算其面積與周長。#include<iostream.h>classRect{public: Rect(intx,inty)//定義構造函數(shù)用于初始化對象; {a=x;b=y;} intGetS()//計算面積的成員函數(shù); {returna*b;} intGetL()//計算周長的成員函數(shù); {return2*(a+b);}private: inta,b;//矩形的長與寬;};
intmain(){Rectobj(5,2);//定義一個矩形對象;intS,L;S=obj.GetS();//調用矩形對象的成員函數(shù)計算面積;L=obj.GetL();//調用矩形對象的成員函數(shù)計算周長;cout<<"S="<<S<<endl;cout<<"L="<<L<<endl;return0;}3、定義一個Circle類,有數(shù)據(jù)成員R(半徑),定義構造函數(shù),用成員函數(shù)GetArea()計算面積,構造一個Circle對象進行測試。#include<iostream.h>classCircle{public: Circle(floatr)//構造函數(shù) {R=r;} doubleGetArea() {returnPI*R*R;}private: floatR;//圓的半徑;};
voidmain(){CircleC(2.0);doubles;s=C.GetArea();cout<<"S="<<s<<endl;}4、定義一個圓柱體類,有數(shù)據(jù)成員底面半徑R與高H,用成員函數(shù)GetV計算其體積,定義構造函數(shù),在主函數(shù)中定義一個對象進行測試。#include<iostream.h>classCylinder{public: Cylinder(floatr,floath)//構造函數(shù) {R=r;H=h; } doubleGetV()//計算圓柱體的體積; { returnPI*R*R*H; }private: floatR,H;//聲明圓柱體的半徑與高;};voidmain(){Cylinderyzt(3,5);doublev;v=yzt.GetV();cout<<"圓柱體的體積為="<<v<<endl;}
5、設計一個點類Point,有兩個數(shù)據(jù)成員x與y,定義一個構造函數(shù)初始化對象。為這個點類增加一個友元函數(shù),通過該友元函數(shù)計算兩個點之間的距離。#include<iostream.h>#include<math.h>classPoint{public: Point(floata,floatb)//構造函數(shù); {x=a;y=b;} frienddoublejs(PointA,PointB);//聲明友元函數(shù);private: floatx,y;//聲明點的坐標;};
//計算兩點之間的距離doublejs(PointA,PointB){doublexx=A.x-B.x;doubleyy=A.y-B.y;doubles=sqrt(xx*xx+yy*yy);returns;}voidmain(){PointA(2,5),B(6,9);//定義兩個點對象;doubless;ss=js(A,B);cout<<"距離="<<ss<<endl;}期中考試1、輸入三角形的三條邊a,b,c,利用海倫公式計算三角形的面積。若p=(a+b+c)/2,則S=。要求判斷a,b,c能否組成一個三角形。#include<iostream.h>#include<math.h>voidmain(){floata,b,c,p,area;cout<<"請輸入三角形的三條邊:"<<endl;cin>>a>>b>>c;if((a+b>c)&&(a+c>b)&&(b+c>a)){p=(a+b+c)/2.0;area=sqrt(p*(p-a)*(p-b)*(p-c));cout<<"S="<<area<<endl;;}else cout<<"不能構成三角形!\n";}
2、輸入一個日期,計算該日期是該年的第
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026福建廈門市集美區(qū)英村(兌山)幼兒園非在編教職工招聘1人備考考試題庫附答案解析
- 2026四川廣安市華鎣市委“兩新”工委、華鎣市級行業(yè)(綜合)黨委社會化選聘新興領域黨建工作專員6人備考考試題庫附答案解析
- 安全生產(chǎn)法一崗雙責制度
- 山東生產(chǎn)追溯措施制度
- 生產(chǎn)設備設施清潔制度
- 2026年上半年云南特殊教育職業(yè)學院招聘人員(6人)備考考試試題附答案解析
- 煉鋼廠全員生產(chǎn)責任制度
- 2026廣東深圳市龍崗區(qū)婦幼保健院招聘142人(第一批次)備考考試試題附答案解析
- 航空器生產(chǎn)制造規(guī)章制度
- 2026北京大學口腔醫(yī)學院(口腔醫(yī)院)招聘4人(第2批)備考考試試題附答案解析
- (完整版)韓國商法
- 《既有工業(yè)區(qū)改造環(huán)境提升技術導則》
- 湖北省荊州市八縣市2023-2024學年高二上學期期末考試物理試卷
- 2024年度初會《經(jīng)濟法基礎》高頻真題匯編(含答案)
- 課例研究報告
- 五年級上冊道德與法治期末測試卷推薦
- 重點傳染病診斷標準培訓診斷標準
- GB/T 3934-2003普通螺紋量規(guī)技術條件
- 蘭渝鐵路指導性施工組織設計
- CJJ82-2019-園林綠化工程施工及驗收規(guī)范
- 小學三年級閱讀練習題《鴨兒餃子鋪》原文及答案
評論
0/150
提交評論