实验报告.docx
- 文档编号:25136633
- 上传时间:2023-06-05
- 格式:DOCX
- 页数:65
- 大小:32.72KB
实验报告.docx
《实验报告.docx》由会员分享,可在线阅读,更多相关《实验报告.docx(65页珍藏版)》请在冰豆网上搜索。
实验报告
计算机程序设计语言C++
实验报告
班级
学号
姓名
指导教师
二O一一年六月
实验一
1.将双撇号中的内容修改为汉字输出。
2.将计算改为乘和除运算(*,/),重点掌握整除取值规律
3.实现三个数排序,用不同顺序和不同类型的数输入,测试程序的正确性。
4.实现4个数排序,用不同顺序和不同类型的数输入,测试程序的正确性。
程序代码:
1、
#include
intmain()
{
cout<<"这"<<"是";
cout<<"一个"<<"C++";
cout<<"程序"< return0; } 2、乘法 #include voidmain() {inta,b,c; cout<<"inputa和b两个整数的值: "; cin>>a>>b; c=a*b; cout<<"a*b="< cout<<"a*b="< } 除法 #include voidmain() {inta,b,c; cout<<"inputa和b两个整数的值: "; cin>>a>>b; c=a/b; cout<<"a/b="< cout<<"a/b="< } 3、 #include voidmain() {intx,y,z,t; cout<<"inputx,y,z: "; cin>>x>>y>>z; if(x>=y) {t=x;x=y;y=t;} if(y>=z) {t=y;y=z;z=t;} if(x>y) {t=x;x=y;y=t;} cout< } 4、#include usingnamespacestd; intmain() {intt,a,b,c,d; cout<<"enterfournumbers: "; cin>>a>>b>>c>>d; cout<<"a="< if(a>b) {t=a;a=b;b=t;} if(a>c) {t=a;a=c;c=t;} if(a>d) {t=a;a=d;d=t;} if(b>c) {t=b;b=c;c=t;} if(b>d) {t=b;b=d;d=t;} if(c>d) {t=c;c=d;d=t;} cout<<"thesortedsequence: "< cout< return0; } 实验二 1.求C++语言提供的随机函数的最大值和最小值 ⑴用自己输入的种子产生100000个随机数并求最大值和最小值; ⑵将随机数种子改为用系统时间time实现 ⑶模拟100次掷钱币的过程,输出“f”表示此次钱币正面朝上,输出“b”表示此次钱币反面朝上,并统计这100次中,共有多少次正面朝上,多少次反面朝上。 程序代码: 1. (1) #include #include voidmain() {intseed; cout<<"请输入种子: "< cin>>seed; srand(seed); inti,temp,max,min,a(0),b(32767); for(i=1;i<=100000;i++) {temp=rand(); cout< max=(temp>a? temp: a); a=max; min=(temp temp: b); b=min; } cout< cout<<"max="< cout<<"min="< } 1. (2) #include #include #include voidmain() {inttemp,max,min,a(0),b(32767); srand(time(NULL)); for(inti=1;i<=100000;i++) {temp=rand(); cout< max=(temp>a? temp: a); a=max; min=(temp temp: b); b=min; } cout<<"max="< cout<<"min="< } 1.(3) #include #include #include voidmain() { intfac(0),back(0),temp; srand(time(NULL)); for(inti=1;i<=100;i++) {temp=rand(); if(temp<32767/2){cout<<'f'<<'';fac++;} else{cout<<'b'<<'';back++;} } cout< "< cout< "< } 实验三 1.求水仙花数 153=13+53+33 2.输入两个正整数m和n,求其最大公约数与最小公倍数 m=18n=27最大公约数为9 最小公倍数为54 3.输入一串字符,分别统计其中英文字母、空格、数字和其他字符的个数。 LiMingsaid."Iamastudent".Mystudentnumber is20103456. 4.分别用if---else语句和switch语句对输入的一个学生成绩进行判断,如果是低于60分,输出“不及格”,如果是6074分,输出“及格”,如果是7584分,输出“良好”,如果是85100分,输出“优秀” 5.银行确定给信用卡消费的客户回馈一定的消费额。 刷卡消费在3000元~5000元以内的,返还消费额的0.3%,5000元~7500元以内的,返还消费额的0.5%,7500元以上的,返还消费额的1%,输入消费金额,打印出对应的返款金额。 程序代码: 1. #include usingnamespacestd; intmain() { inti,j,k,n; for(n=100;n<1000;n++) { i=n/100; j=(n%100-n%10)/10; k=n%10; if(i*i*i+j*j*j+k*k*k==n) cout<<"水仙花数是: "< } return0; } 2. #include usingnamespacestd; intmain() { intm,n,temp,r,p; cout<<"请输入两个整数: "< cin>>m>>n; if(m {temp=m;m=n;n=temp;} p=m*n; while(n! =0) {r=m%n; m=n; n=r;} cout<<"最大公约数为: "< cout<<"最小公倍数为: "< return0; } 3. #include usingnamespacestd; intmain() { charc; intn1,n2,n3,n4; n1=n2=n3=n4=0; while((c=getchar())! ='\n') { if((c>='a'&&c<='z')||(c>='A'&&c<='Z'))n1++; elseif(c>='0'&&c<='9')n2++; elseif(c=='')n3++; elsen4++; } cout<<"字母字符的个数是: "< cout<<"数字字符的个数是: "< cout<<"空格字符的个数是: "< cout<<"其他字符的个数是: "< return0; } 4.if---else #include usingnamespacestd; intmain() { intx; cin>>x; if(x<60) cout<<"x"<<"不及格"< elseif(x>=60&&x<=74) cout<<"x"<<"及格"< elseif(x>=75&&x<=84) cout<<"x"<<"良好"< elseif(x>=85&&x<=100) cout<<"x"<<"优秀"< return0; } Switch #include usingnamespacestd; intmain() { intx,a; cin>>x; if(x<60)a=1; if(x>=60&&x<=74)a=2; if(x>=75&&x<=84)a=3; if(x>=85&&x<=100)a=4; switch(a) {case1: cout<<"不及格"< case2: cout<<"及格"< case3: cout<<"良好"< case4: cout<<"优秀"< } return0; } 5. #include usingnamespacestd; intmain() { inta,i; cout<<"请输入刷卡消费金额i"< cin>>i; if(i<3000) a=i*0; elseif(i<5000) a=i*0.003; elseif(i<7500) a=i*0.005; elseif(i>=7500) a=i*0.01; cout<<"返款金额为: "< return0; } 实验四 1.编写一个完成两个数交换的函数swap; 2.编写一个完成n个数排序的函数sort,凡是需要交换两个元素值都调用swap来完成。 分别用指针和引用两种方法都做; 3.编写主函数,主函数中定义数组并输入值,通过调用sort完成对数组元素的排序。 程序代码: 1. #include usingnamespacestd; voidswap(int*x,int*y) { intt; t=*x;*x=*y;*y=t; cout<<"*x="<<*x<<"*y="<<*y< } intmain() { inta,b; cin>>a>>b; swap(a,b); cout<<"a="< return0; } 2. //用引用的方法 #include usingnamespacestd; voidswap(int&x,int&y); intmain() {voidsort(int[]); inta[10],i,j; intp1,p2; cout<<"请输入十个数: "< cin>>a[10]; for(j=0;j<9;j++) for(i=0;i<10-j;i++) {p1=a[i]; p2=a[i+1];} if(p1 swap(p1,p2); cout<<"十个数的排列为: "< for(i=0;i<10;i++) cout< cout< return0; } voidswap(int&x,int&y) { inttemp; temp=x;x=y;y=temp; } 用指针的方法 #include usingnamespacestd; voidswap(int*x,int*y); intmain() {voidsort(int[]); inta[10],i,j; intp1,p2; cout<<"请输入十个数: "< cin>>a[10]; for(j=0;j<9;j++) for(i=0;i<10-j;i++) {p1=a[i]; p2=a[i+1];} if(p1 swap(p1,p2); cout<<"十个数的排列为: "< for(i=0;i<10;i++) cout< cout< return0; } voidswap(int*x,int*y) { intt; t=*x;*x=*y;*y=t; cout<<"*x="<<*x<<"*y="<<*y< } 3. #include #include usingnamespacestd; intmain() { inta[5]={1,9,0,23,12}; voidsort(int[]); sort(a); return0; } voidsort(inta[]) {inti,j,t; for(j=0;j<5;j++) for(i=0;i<5-j;i++) if(a[i]>a[i+1]) {t=a[i];a[i]=a[i+1];a[i+1]=t;} cout<<"数组排列为:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 报告