




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、計(jì)算機(jī)程序設(shè)計(jì)語言C+實(shí)驗(yàn)報(bào)告級(jí)口號(hào)名 指導(dǎo)教師商管理20124130沈棟何耀琴經(jīng)濟(jì)管理學(xué)院二O一一年六月題目 1:輸出所有的“水仙花數(shù)” ,所謂“水仙花數(shù)”是指一個(gè) 3 位數(shù),其各位數(shù)字立方和等于該數(shù)本身。#include <iostream>using namespace std;int main()int n1,n2,n3,i;for (i=100;i<=999;i+)n1=i/100; n2=(i%100)/10;n3=i%10;if (n1*n1*n1+n2*n2*n2+n3*n3*n3=i) cout<<i<<endl;return 0;題
2、目 2:輸入一行字符,分別統(tǒng)計(jì)出其中英語字母、空格、數(shù)字和其他字符的個(gè)數(shù)#include <iostream> using namespace std; int main() int l,s,n,o;cout<<" 請(qǐng)輸入一行字符 "<<endl;char e; l=s=n=o=0;while(e=getchar()!='n') if(e>='a'&&e<='z')|(e>='A'&&e<='Z')l+;
3、 else if(e>='0'&&e<='9')n+; else if(e=' ')s+;else o+; printf("l:%dn",l); printf("s:%dn",s); printf("n:%dn",n); printf("o:%dn",o); return 0;題目3:輸入兩個(gè)正整數(shù)m和n,求其最大公約數(shù)和最小公倍數(shù)#include <iostream>using namespace std;int main()
4、int m,n,a,b,X,Y;cout<<" 輸入兩個(gè)正整數(shù) "cin>>m>>n;X=m*n;Y=1;for (a=m*n;a>=m&&a>=n;a-) if(a%m=0&&a%n=0&&a<X) X=a;for (b=m;b>=1;b-)if(m%b=0&&n%b=0&&b>Y) Y=b;cout<<" 最小公倍數(shù) "<<X<<endl;cout<<&quo
5、t; 最大公約數(shù) "<<Y<<endl;return 0;題目 4: 輸出以“ *”表示的正金字塔與倒金字塔模型#include <iostream>using namespace std;void print(int n)int i,j;for(i=1;i<=n;i+)for(j=n-1;j>=i;j-)cout<<" " for(j=1;j<=2*i-1;j+)cout<<"*" cout<<endl;void printstar(int n)int
6、i,j;for(i=1;i<=n;i+)for(j=1;j<=i-1;j+)cout<<" " for(j=n-1;j>=i;j-)cout<<"*" cout<<"*"cout<<endl;int main()int i,m;for(i=1;i<=5;i+)cin>>m;print(m);printstar(m);return 0;題目 5: 輸入十個(gè)整數(shù),要求按倒序排列輸出#include <iostream>using namespa
7、ce std;int main()void daoxu(int *);int a10;cout<<" 輸入 10 個(gè)數(shù) "int i,*p=a;for(i=0;i<10;i+)cin>>*(p+i);cout<<endl;daoxu(p); for(p=a;p<(a+10);p+)cout<<*p<<" " cout<<endl;return 0;void daoxu(int *p) void swap(int*,int*); int i; for(i=0;i<5;
8、i+)swap(p+i),(p+9-i);void swap(int *p1,int *p2) int temp;temp=*p1;*p1=*p2;*p2=temp;題目 6:輸入 5 位學(xué)生的 5 門課成績,要求計(jì)算這 5 位學(xué)生的各自 5門課平均成績及所有 5 位學(xué)生的平均成績,并輸出#include <iostream>using namespace std;int main()struct Studentchar name10;int score5;float average;int i,sum;Student stu;cout<<" 輸入學(xué)生姓名 :
9、" cin>>;cout<<" 輸入五門課的成績 :" for(i=0;i<5;i+) cin>>stu.scorei;sum=0; for(i=0;i<5;i+) sum+=stu.scorei;stu.average=(float)sum/5;cout<<<<" 的平均成績?yōu)?"<<stu.average<<endl; int a1=stu.average;cout<<" 輸入學(xué)生姓名 :&q
10、uot; cin>>;cout<<" 輸入五門課的成績 :" for(i=0;i<5;i+) cin>>stu.scorei;sum=0; for(i=0;i<5;i+) sum+=stu.scorei;stu.average=(float)sum/5;cout<<<<" 的平均成績?yōu)?"<<stu.average<<endl; int a2=stu.average;cout<<" 輸入學(xué)生姓名 :&quo
11、t;cin>>;cout<<" 輸入五門課的成績 :"for(i=0;i<5;i+) cin>>stu.scorei;sum=0;for(i=0;i<5;i+)sum+=stu.scorei;stu.average=(float)sum/5;cout<<<<" 的平均成績?yōu)閕nt a3=stu.average; cout<<" 輸入學(xué)生姓名 :" cin>>;cout<<" 輸入五
12、門課的成績 :"for(i=0;i<5;i+) cin>>stu.scorei;sum=0;for(i=0;i<5;i+)sum+=stu.scorei;stu.average=(float)sum/5;cout<<<<" 的平均成績?yōu)閕nt a4=stu.average; cout<<" 輸入學(xué)生姓名 :" cin>>;cout<<" 輸入五門課的成績 :"for(i=0;i<5;i+) cin>>s
13、tu.scorei;sum=0;for(i=0;i<5;i+)sum+=stu.scorei;stu.average=(float)sum/5;cout<<<<" 的平均成績?yōu)閕nt a5=stu.average;"<<stu.average<<endl;"<<stu.average<<endl;"<<stu.average<<endl;cout<<" 所有人平均成績 "<<':'
14、;<<(a1+a2+a3+a4+a5)/5<<endl;return 0;題目 7:輸入 5 位學(xué)生的 5 門課成績,要求輸出按由高到低排列的這5 位學(xué)生的各自 5 門課平均成績及所有學(xué)生的 5 門課平均成績。#include<iostream> #include<string> using namespace std; struct Studentstring name; float score5; float average;int main() float total_average,temp;string c;Student stu5;i
15、nt i,j;="stone" ="eva"="demon" ="kevin"="lucy" for(i=0;i<5;i+)H.cout<<" 輸入學(xué)生 "<<<<" 的五門課程成績: for(j=0;j<5;j+) cin>>stui.scorej; cout<<endl;for(i=0
16、;i<5;i+) stui.average=(stui.score0+stui.score1+stui.score2+stui.score3+ stui.score4)/5;for(j=0;j<4;j+) for(i=0;i<4-j;i+) if(stui.average<stui+1.average)temp=stui.average;stui.average=stui+1.average;stui+1.average=temp;c=;=stui+1.name;stui+1.name=c;total_average=(stu0.av
17、erage+stu1.average+stu2.average+stu3.average+stu 4.average)/5;cout<<" 排序: "<<endl;for(i=0;i<5;i+)cout<<<<':'<<stui.average<<endl; cout<<" 總平均成績?yōu)椋?"<<total_average<<endl; return 0;題目 8:給小學(xué)生出 100 道 199 范圍內(nèi)的加減
18、乘除題,如果成績小于 90 分則再做 100 題。#include <iostream>#include <ctime>#include <cmath> using namespace std; int main()int i,x1,x2,x,y,n1,n2;srand(time(NULL);cout<<" 請(qǐng)輸入下面各題的結(jié)果 :"<<endl; lable:n1=n2=0;for(i=1;i<=100;i+) x1=1+rand()%99; x2=1+rand()%99; x=rand()%4;switc
19、h(x)case 0:cout<<x1<<'+'<<x2<<"=?"cin>>y; if(y=x1+x2) cout<<" 你答對(duì)了,繼續(xù)努力! "<<endl;n1+; elsecout<<" 你答錯(cuò)了,認(rèn)真一點(diǎn)! "<<endl;n2+; break;case 1:if(x1>x2)cout<<x1<<'-'<<x2<<"=?&q
20、uot;else cout<<x2<<'-'<<x1<<"=?" cin>>y;if(y=int(fabs(x1-x2) cout<<" 你答對(duì)了,繼續(xù)努力! "<<endl;n1+; elsecout<<" 你答錯(cuò)了,認(rèn)真一點(diǎn)! "<<endl;n2+; break;case 2:cout<<x1<<'*'<<x2<<"=?"
21、cin>>y;if(y=x1*x2)cout<<" 你答對(duì)了,繼續(xù)努力! elsecout<<" 你答錯(cuò)了,認(rèn)真一點(diǎn)! break;case 3:cout<<x1<<'/'<<x2<<"=?"cin>>y;if(y=x1/x2)cout<<" 你答對(duì)了,繼續(xù)努力! elsecout<<" 你答錯(cuò)了,認(rèn)真一點(diǎn)! break;"<<endl;n1+;"<<end
22、l;n2+;"<<endl;n1+;"<<endl;n2+;還 得 罰 做 100 題 。if(n1<90)cout<<" 你 成 績 太 差 了 , "<<endl;n1=n2=0;n1=n2=0;n1=n2=0;goto lable; return 0;題目 9:輸入積分區(qū)域的端點(diǎn)值,輸出 f1,f2,f3, f4, f5 的定積分的值#include <iostream> using namespace std;double integral(double a,double b,in
23、t n,double(*fun)(double x); double f1(double x)double fun; fun=1+x;return fun; double f2(double x) double fun; fun=2*x+3;return fun; double f3(double x) double fun; fun=(1+x)*(1+x); return fun; double f4(double x)double fun; fun=x*x*x; return fun; double f5(double x) double fun; fun=x*x*x+1;return f
24、un; void main()double s1,s2,s3,s4,s5;double a,b;int n;cout<<" 輸入積分區(qū)域端點(diǎn)值 a,b 和 n" cin>>a>>b>>n;s1= integral(a,b,n,f1);s2= integral(a,b,n,f2);cout<<"f1cout<<"f2cout<<"f3cout<<"f4cout<<"f5s3=integral(a,b,n,f3); s4=
25、integral(a,b,n,f4); s5=integral(a,b,n,f5);的定積分的值 "<<s1<<endl; 的定積分的值 "<<s2<<endl; 的定積分的值 "<<s3<<endl; 的定積分的值 "<<s4<<endl; 的定積分的值 "<<s5<<endl;double integral(double a,double b,int n,double(*fun)(double x) int i;doubl
26、e h,x,f1,f2,s;h=(b-a)/n;f1=(*fun)(a);x=a;s=0.0; for(i=1;i<=n;i+) x=x+h;f2=(*fun)(x);s=s+(f1+f2)/2*h;f1=f2;return s;題目 10:用自己輸入的種子產(chǎn)生 100000 個(gè)隨機(jī)數(shù)并求最大值和最小值;#include <iostream>#include <iomanip> using namespace std;void main() unsigned seed;long int s(-1),n(50000);for(int i=1;i<=100000
27、0;i+) int temp;temp=rand(); if(temp>s)s=temp; if(temp<n)n=temp;cout<<"s="<<s<<endl; cout<<"n="<<n<<endl;題目11:模擬100次擲錢幣的過程,輸出“ f”表示此次錢幣正面朝上,輸出“ b”表示此次錢幣反面朝上,并統(tǒng)計(jì)這 100次中,共有多少次正面朝上,多少次反面朝上。#include <iostream>#include <ctime> using
28、 namespace std; void main() int i,fac(0),back(0),temp;srand (time(NULL); for(i=0;i<100;i+) temp=rand(); if(temp%2=1)cout<<"f"<<" "fac+; else cout<<"b"<<" "back+; cout<<endl<<" 正面的次數(shù) ="<<fac<<endl; co
29、ut<<endl<<" 反面的次數(shù) ="<<back<<endl;題目12:編寫一個(gè)完成n個(gè)數(shù)排序的函數(shù)sort,凡是需要交換兩個(gè)元素值都調(diào)用 swap 來完成。分別用指針和引用兩種方法做#include <iostream>using namespace std;int main()void sort(int *p);int a10;cout<<" 輸入 10 個(gè)不同的數(shù): "<<endl;int i,*p=a;for(i=0;i<10;i+)cin>>
30、;*(p+i);cout<<endl;sort(p);cout<<" 輸出新順序: "<<endl;for (p=a;p<a+10;p+) cout<<*p<<" "cout<<endl;return 0;void swap(int *p1,int *p2)int temp; temp=*p1;*p1=*p2;*p2=temp;void sort(int *p)void swap(int *,int *);int i,j,s;for (i=0;i<9;i+)s=i;for
31、 (j=i+1;j<10;j+)if(*(p+j)<*(p+s)s=j; swap(p+s),(p+i);題目 13:寫一個(gè)求 n! 的函數(shù),并通過調(diào)用函數(shù)求 sum=a!+b!+c! 。#include <iostream> using namespace std; int jc(int n);int main()int sum,a,b,C;HCout<<" 輸入 a,b, C: Cin>>a>>b>>C; sum=jC(a)+jC(b)+jC(C);Cout<<"sum=a!+b!+C!
32、="<<sum<<endl; int jC(int n) int s=1,i=1;for(i=1;i<=n;i+) s=s*i; return s;題目 14:寫一個(gè)判斷素?cái)?shù)的函數(shù), 并通過調(diào)用函數(shù)判斷 2000年至 3000年間有哪些是素?cái)?shù)年號(hào)。#inClude <iostream> using namespaCe std; void fun(int n)int i; for(i=2;i<=n;i+) if(n%i=0) break; if(i=n) Cout<<n<<endl;void main()int j
33、;for(j=2000;j<=3000;j+) fun(j);題目15:將漢諾塔程序里三根針用字符 a' b' C'表示,并統(tǒng)計(jì)搬動(dòng)盤子的次數(shù)#include <iostream>using namespace std;int s=0;int a,b,c;void movedisk(char takeoff,char puton) cout<<takeoff<<"->"<<puton<<endl; void movetower(char n,char a,char b,char
34、c) if (n>1)movetower(n-1,a,c,b); movedisk(a,b);movetower(n-1,c,b,a);else movedisk(a,b);s=s+1;void main()int m;cout<<"input number of disk please:" cin>>m;movetower(m,'a','b','c'); cout<<"s="<<s<<endl;題目 16:用牛頓迭代法求方程的根#inclu
35、de <iostream>#include <cmath>#include <iomanip> using namespace std;double f1(double x)double s; s=x*x*x+2*x*x+3*x+4; return s;double f2(double x)double t; t=3*x*x+4*x+3; return t;double root(double x0)double x,y1,y2;doy1=f1(x);y2=f2(x);x=x0-y1/y2;x0=x;while (fabs(y1)>0.00001);r
36、eturn x;int main()double x,x0;cin>>x0;x=root(x0);cout<<x<<endl;return 0;題目 17:寫一函數(shù)驗(yàn)證哥德巴赫猜想#include <iostream> #include <cmath> using namespace std; int main()void godbaha(int); int n; cout<<"input n:" cin>>n; godbaha(n); return 0;void godbaha(int n
37、)int prime(int);int a,b;for (a=3;a<=n/2;a=a+2) if(prime(a) b=n-a;if (prime(b)cout<<n<<"="<<a<<"+"<<b<<endl; int prime(int m) int i,k=sqrt(m); for(i=2;i<=k;i+)if(m%i=0)break; if(i>k) return 1; else return 0; 題目 18:求二維數(shù)組中最大值元素及所在的行和列,分別以
38、數(shù)組元素作參數(shù)及數(shù)組名作參數(shù)完成。#include <iostream>using namespace std;void main()int i,j,row=0,colum=0,max;int a34=3,5,4,8,4,7,1,2,-6,-9,3,0;max=a00;for(i=0;i<3;i+)for(j=0;j<4;j+)if(aij>max) max=aij; row=i; colum=j;cout<<" 最大值所在的行: "<<row<<endl; cout<<" 最大值所在的
39、列 :"<<colum<<endl; cout<<" 最大值: "<<max<<endl;題目 19: 定義一個(gè)學(xué)生類 ,有 num,age,score 三個(gè)數(shù)據(jù)成員和 2 個(gè)靜態(tài)數(shù)據(jù)成員 ,一個(gè)求年齡之和的成員函數(shù)和構(gòu)造函數(shù) ,用構(gòu)造函數(shù)實(shí)現(xiàn)初始化 ,主函數(shù)中定義一個(gè)三個(gè)元素的對(duì)象數(shù)組 ,并給定三個(gè)學(xué)生的值 ,通過調(diào)用 成員函數(shù)完成三個(gè)學(xué)生的平均年齡 ,并找出最高成績并打印出來。#include <iostream> #include <string> using namespa
40、ce std; class Student public:Student (int n,int a,float s):num(n),age(a),score(s) void total(); static float av();int num; float score; static int count; static float max(); static float sum; stud5=Student(10010,18,70), Student(10011,18,80),Student(10012,18,90), Student(10013,18,40),Student(10014,18
41、,50); void Student:total() sum+=age;float Student:max() int j;float max=0; for(j=1;j<=5,j+) if(studj.score>max) max=studj.score; return max; float Student:av() return(sum/count); float Student:sum=0; int Student:count=0; int main int n; cout<<" 輸入學(xué)生數(shù): cin>>n; for(int i=o;i<n;i+) studi.total(); cout<<"theH.averageageof"<<n<<""<<&qu
溫馨提示
- 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. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 金融科技行業(yè)工作經(jīng)歷證明書(7篇)
- 綜合出生日期與工作情況證明(6篇)
- 一次難忘的事件讓我學(xué)會(huì)了成長:話題作文9篇范文
- 電影制作與發(fā)行聯(lián)合投資合作協(xié)議
- 遺體防腐考試試題及答案
- 六一公司團(tuán)建活動(dòng)方案
- 醫(yī)學(xué)生考試試題及答案
- 六一慶典互動(dòng)活動(dòng)方案
- 六一活動(dòng)包粽子活動(dòng)方案
- 六一活動(dòng)尋寶活動(dòng)方案
- 小學(xué)數(shù)學(xué)課程體系介紹
- 湖北省武漢市2024年七年級(jí)上學(xué)期期中數(shù)學(xué)試題【附參考答案】
- 脫硫檢修工個(gè)人工作總結(jié)
- 山西省2022年中考語文真題試卷(含答案)
- 甘肅省2024年中考生物試卷四套合卷【附答案】
- 骨筋膜室綜合征講課
- 山東省青島膠州市2024-2025學(xué)年高一數(shù)學(xué)下學(xué)期期末考試試題
- 安裝排水管合同模板
- 江蘇省蘇州蘇州工業(yè)園區(qū)四校聯(lián)考2025屆初三下學(xué)期二?;瘜W(xué)試題試卷含解析
- 《民主決策:作出最佳選擇》教案
- 年產(chǎn)20萬噸乙二醇項(xiàng)目初步設(shè)計(jì)說明書
評(píng)論
0/150
提交評(píng)論