




已阅读5页,还剩22页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验1教学班级:学生学号: 学生姓名: 实验日期:2014年3月1日实验地点: (机房) 指导教师签名:_ 实验成绩:_ 一、实验目的1熟悉C+程序的集成开发环境;2学习新建和打开控制台应用程序的方法;3掌握简单数据运算,以及输入与输出方法。二、实验任务1输入一摄氏温度,输出显示所转换的华氏温度。 (提示:摄氏温度=(华氏温度-32)5/9)2画出一头威武雄壮的雄狮。 ,% ,%/%/% ,%c J/% %. %/ o o % %. % _ |% % %(_Y_)% / ;%-/% ( / % . | / | | / ) | | /_ | |_ (_)三、实验结果(源程序 + 注释) 1. 源程序#include using namespace std; void main() double a,b; cout请输入一摄氏温度:a; b=a*9/5+32; cout转换的华氏温度为:bendl; 2源程序#include using namespace std; void main() cout ,% endl; cout ,%/%/% endl; cout ,%c J/% endl; cout%. %/ o o % endl; cout%. % _ |% endl; cout % %(_Y_)% endl; cout / ;%-/% endl; cout( / % endl; cout . | endl; cout / | | endl; cout / ) | | endl; cout /_ | |_ endl; cout (_) endl; 实验2教学班级: 学生学号: 学生姓名: 实验日期:2014年3月1日 实验地点: (机房) 指导教师签名:_ 实验成绩:_ 一、实验目的1掌握对一般数据的输入和输出格式控制方法;2掌握对实型数据输出形式的设置和小数位数的控制方法;3了解数据输入的相关注意事项。二、实验任务1. 键盘输入某台计算机的编号和该计算机的价格,并输出这些信息。要求:编号为11位数字构成,如10987654321;价格含有小数部分,如998.0元;输出的编号只是由数字组成,不应该出现小数点等非数字符号。2. 有一种加密方法是用原来字母的第n个字母代替原来的宁母。例如把A用其后第4个字母E来替代。现在有一密文内容为wigvix,编程求出它的原文是什么?(提示:可根据上述加密原理,使用若干字符型变量来实现)。3. 编程实现:在计算机的提示下输入某学生的学号、英语成绩、高等数学成绩、线性代数成绩,计算得出三门课程平均成绩,并按如下格式输出显示。成绩单学 号 20100002*科 目 成 绩-英 语 85高等数学 90线性代数 88.5*平均成绩 87.8三、实验结果(源程序 + 注释)1. 源程序#includeusing namespace std;void main() double a,b; cout请输入某台计算机的编号和该计算机的价格:ab; cout.precision(11); cout该计算机的编号和价格分别为:endl; couta bendl;2. 源程序#includeusing namespace std;void main() char c1,c2,c3,c4,c5,c6; cout请输入密码内容:c1c2c3c4c5c6; c1=c1-4; c2=c2-4; c3=c3-4; c4=c4-4; c5=c5-4; c6=c6-4; cout原文是:endl; coutc1c2c3c4c5c6endl;3.源程序#include#includeusing namespace std;void main() float score1,score2,score3,average; cout请输入三门课程的成绩score1score2score3; average=(score1+score2+score3)/3; cout成绩单endl; cout学号 20100002endl; cout*endl; cout科目setw(16)成绩endl; cout-endl; cout英语setw(15)score1endl; cout高等数学setw(11)score2endl; cout线性代数setw(12)score3endl; cout*endl; coutfixed; cout.precision(1); cout平均成绩setw(12)averageendl;实验3教学班级: 学生学号:学生姓名: 实验日期:2014年3月2日实验地点: (机房) 指导教师签名:_ 实验成绩:_ 一、实验目的1. 掌握“处理某一或某些操作只有在特定条件成立的情况下才会被执行”的编程思路和方法;2. 掌握简单分支程序设计,以及if和if-else语句的使用方法。二、实验任务1 已知一函数,输入x的值,求解并输出相应的y值。2 求一元二次方程ax2+bx+c=0的根,其中a、b、c为实数,由键盘输入。三、实验结果(源程序 + 注释)1. 源程序#includeusing namespace std;void main() double x,y; cout请输入x的值:x; if(x=1&x=10) y=3*x-11; cout输出相应的y值为:yendl;2. 源程序#include#includeusing namespace std;void main() double a,b,c,delta,x,x1,x2; cout求一元二次方程ax2+bx+c=0的根endl; cout请输入a,b,c的值:abc; delta=b*b-4*a*c; if(delta0) cout一元二次方程无实根endl; else if(delta=0) x=-b/(2*a); cout一元二次方程ax2+bx+c=0的根为a:x1=x2=x0) x1=(-b-sqrt(delta)/(2*a); x2=(-b+sqrt(delta)/(2*a); cout一元二次方程ax2+bx+c=0的根为:x1=x1 x2=x2endl;实验4教学班级: 学生学号: 学生姓名: 实验日期:2014年3月3日实验地点: (机房) 指导教师签名:_ 实验成绩:_ 一、实验目的1掌握多路分支结构的程序设计,以及switch语句的使用方法;2学习通过程序调试来跟踪程序运行过程,查看程序运行过程中各个变量的取值变化 情况。二、实验任务1某公司进行产品销售,既零售也批发,零售的价格与批发的价格不同,购买产品数量的多与少其价格也不同。具体标准见下表:批 发 商零 售 商数量(个)单位价格(元/个)数量(个)单位价格(元/个)502001012018200以上8204015405012要求编写一程序,输入客户购买产品的数量,输出客户类型(批发或零售客户)、产品单价及应付的总额。2. 给学生写评语,需将学生的考试成绩由百分制转换为5级制,标准为: 等级 分数段 A 95. 100分 B 85.94.分 C 75.84.分 D 60.74.分 E 60.分以下3. 输入年号y和月份m, 输出y年的m月有多少天。 三、实验结果(源程序 + 注释)1.源程序#includeusing namespace std;void main() int x,y; cout请输入客户购买产品的数量:x;y=x/10;switch(y) case 0: case 1: cout客户类型为零售商,产品单价为18元/个,应付的总额为:18*xendl;break;case 2:case 3: cout客户类型为零售商,产品单价为15元/个,应付的总额为:15*xendl;break;case 4: cout客户类型为零售商,产品单价为12元/个,应付的总额为:12*xendl;break; if(50=x&x200) cout客户类型为批发商,产品单价为10元/个,应付的总额为:10*x=200) cout客户类型为批发商,产品单价为8元/个,应付的总额为:8*xendl;2.源程序#includeusing namespace std;void main() int a,b; cout请输入一学生的考试成绩:a;b=a/5;switch(b) case 20: case 19: cout该学生的考试成绩等级为A:endl;break; case 18: case 17: cout该学生的考试成绩等级为B:endl;break; case 16: case 15: cout该学生的考试成绩等级为C:endl;break; case 14: case 13: case 12: cout该学生的考试成绩等级为D:endl;break; default: cout该学生的考试成绩等级为E:endl; 3.源程序#includeusing namespace std;void main() int y,m; cout请输入输入年号y和月份m:ym; switch(m) case 1: case 3: case 5: case 7: case 8: case 10:case 12: couty年的m月有31天:endl;break;case 4:case 6:case 9:case 11: couty年的m月有30天:endl;break; if(m=2) if(y%4=0&y%100!=0)|(y%100=0&y%400=0) couty年的m月有29天:endl; else couty年的m月有28天:=n),用m除以n,求得余数q。 若q为零,n即为所求的最大公约数; 若q不为零,则更新除数和被除数(nm,q n)再做除法,直至余数q为零止。这时,相应的n即为所求的最大公约数。 而最小大公倍数=原始m与n值的乘积/最大公约数。 )3. 编程实现十进制整数和二进制整数之间的转换。三、实验结果(源程序 + 注释)1.源程序#include using namespace std;void main() int i=1; double n=1,j=1,k=0,pi=0; dok=k+j; n=n+2;i=-i;j=i/n; while(j=1.0e-6|j=-1.0e-6); pi=4*k;cout/4=kendl;cout=piendl;2.源程序#include using namespace std;void main() int m,n,q,i,j,k; cout请输入两个整数:mn; i=m; j=n; q=i%j; if(q=0) cout所求的最大公约数为:jendl; if(q!=0) do i=j; j=q; q=i%j; while(q!=0); k=(m*n/j);cout所求的最大公约数为:jendl; cout所求的最小公倍数为:kendl;3 源程序#includeusing namespace std;void main() int i=10,j=1,m,n=0;cout请输入一个二进制整数:m; don+=j*(m%i); m/=i; j*=2; while(m!=0);cout 转换为十进制整数是:nn)的所有素数,要求:每行输出5个。2. 键盘输入一行字符,统计字符总个数,以及其中的英文字母个数,如果是数字,则统计它们所构成的数据中,奇数个数和偶数个数分别是多少。提示:可使用以下程序段,连续输入若干字符直到输入n时停止。while(1) ch=getchar(); if(ch=n)break; 。3. 两个乒乓球队进行比赛,各出3人。甲队为A、B、C共3人,乙队为X、Y、Z共3人,并以抽签方式决定比赛名单。有人向队员打听比赛的名单,A说他不和X比,C说他不和X、Z比,请给出3对赛手的名单。4. 用循环结构语句编程并输出下图,其行数有键盘给出。例如:键盘输入:5,则运行结果如下12233344445555555554444333221三、实验结果(源程序 + 注释)1. 源程序#include #include using namespace std;void main() int m,n,x,y,k=0; cout请输入两个不等的整数:nm; cout它们之间的所有素数为:endl; for(x=n;x=m;x+) for(y=2;y=x-1;y+) if(x%y=0)break; if(x=y) cout x; k=k+1; if(k%5=0) coutn; 2. 源程序#include using namespace std;#include void main() char ch; int i=0,ch_num=0,odd_num=0,even_num=0; cout请输入一行字符:=a&ch=A&ch=1&ch=9) if(ch%2=0) even_num+=1; else odd_num+=1; cout输入的字符总个数为:iendl; cout其中英文字符个数为:ch_numendl; cout奇数个数为:odd_numendl; cout偶数个数为:even_numendl;3. 源程序 #includeusing namespace std;void main() char i,j,k; for(i=X;i=Z;i+) for(j=X;j=Z;j+) if(i!=j)for(k=X;k=Z;k+)if(i!=k&j!=k)if(i!=X&k!=X&k!=Z) cout3对选手的名单为:A-i B-j C-kendl;4. 源程序#include #include using namespace std;void main() int i,j,a; couta; for(i=1;i=a;i+) for(j=1;j=2*a-1;j+) if(j=2*a-1-i) if(i!=a) cout ; else couti; else couti; coutendl; for(i=1;i=a-1;i+) for(j=1;j=a-1;j+) if(j=a-i) couta-i; else cout ; coutendl;实验7教学班级: 学生学号: 学生姓名: 实验日期:2014年4月2日 实验地点: (机房) 指导教师签名:_ 实验成绩:_ 一、实验目的1掌握数值型一维数组的使用方法; 2掌握对一组同类型的数据进行插入、删除、排序和查找等的常用算法。二、实验任务1. 对两个无序的数组(其中数组a长度为n,数组b长度m),采用选择法(或起泡法)分别将这两个数组转为有序(元素值从小到大有序)。要求:a和b数组长度及其元素均由键盘获取。2. 将以上任务1构建的两个有序的数组a和b,进行有序合并,即将这两个数组进行合并的过程中其数据始终保持有序。(提示:数据结构:三个一维数组a,b,c将aia和bib比较,谁小就把谁放入cic(c数组用于存放合并后的数据),谁放入了cic中谁的下标就加1,同时ic(c中当前存放数据的下标)加1,如下图所示。 )3. 计算以上任务2中c数组元素的平均值,并删除c中所有低于平均值的那些元素。三、实验结果(源程序 + 注释)1.源程序#includeusing namespace std;void main(void) int i,j,t,n,m,a100,b100; coutn; cout请输入数组a的n个数:endl; for(i=0;iai; for(i=0;in-1;i+) for(j=i+1;jaj) t=ai;ai=aj;aj=t; cout数组从小到大排列为:endl; for(j=0;jn;j+) coutaj ; coutendl; coutm; cout请输入数组b的m个数:endl; for(i=0;ibi; for(i=0;im-1;i+) for(j=i+1;jbj) t=bi;bi=bj;bj=t; cout数组b从小到大排列为:endl; for(j=0;jm;j+) coutbj ; coutendl;2. 源程序#includeusing namespace std;void main(void) int i,j,t,n,m,a100,b100; coutn; cout请输入数组a的n个元素:endl; for(i=0;iai; for(i=0;in-1;i+) for(j=i+1;jaj) t=ai;ai=aj;aj=t; cout数组a的元素从小到大排列为:endl; for(j=0;jn;j+) coutaj ; coutendl; coutm; cout请输入数组b的m个元素:endl; for(i=0;ibi; for(i=0;im-1;i+) for(j=i+1;jbj) t=bi;bi=bj;bj=t; cout数组b的元素从小到大排列为:endl; for(j=0;jm;j+) coutbj ; coutendl; int c200,ia=0,ib=0,ic=0; for(ia=0;iaaia) cic+=aia; else cic+=bib; if(aia!=bib) ia-; ib+; if(ibm) for(;ibm;ib+) cic+=bib; cout合并后的数组c为:endl; for(int i=0;iic;i+) cout ci; coutendl;3.源程序#includeusing namespace std;void main(void) int i,j,t,n,m,a100,b100; coutn; cout请输入数组a的n个元素:endl; for(i=0;iai; for(i=0;in-1;i+) for(j=i+1;jaj) t=ai;ai=aj;aj=t; cout数组a的元素从小到大排列为:endl; for(j=0;jn;j+) coutaj ; coutendl; coutm; cout请输入数组b的m个元素:endl; for(i=0;ibi; for(i=0;im-1;i+) for(j=i+1;jbj) t=bi;bi=bj;bj=t; cout数组b的元素从小到大排列为:endl; for(j=0;jm;j+) coutbj ; coutendl; int c200,ia=0,ib=0,ic=0; for(ia=0;iaaia) cic+=aia; else cic+=bib; if(aia!=bib) ia-; ib+; if(ibm) for(;ibm;ib+) cic+=bib; cout合并后的数组c为:endl; for(int i=0;iic;i+) cout ci; coutendl; float sum=0.0,ave; for(i=0;in+m;i+) sum=sum+ci; ave=sum/(n+m); cout数组c元素的平均值为:aveendl; cout数组c中大于平均值的元素为:; for(i=0;iave) coutci ;实验8教学班级: 学生学号: 学生姓名: 实验日期:2014年5月1日 实验地点: (机房) 指导教师签名:_ 实验成绩:_ 一、实验目的1掌握对一组同类型的数据进行插入、删除、排序和查找等的常用算法。二、实验任务1. 使用插入排序法将键盘输入的无序数列按升序排列。思路分析与算法:1) 从第一个元素开始,该元素可以认为已经被排序。2) 取出下一个元素,在已经排序的元素序列中从后向前扫描。3) 如果该元素(已排序)大于新元素,将该元素移到下一位置。4) 重复步骤3,直到找到已排序的元素小于或者等于新元素的位置。5) 将新元素插入到该位置中。6) 重复步骤2。2.选举猴王问题:N 只猴子围成一圈,顺序编号1至N。从编号为1的猴子开始依次报数,报数m 的猴子就退出圈子,接着再报,报数m 的猴子再退出圈子,依次继续下去,圈子最后所剩的一只猴子为猴王,它原先的编号是几?思路分析与算法:1) 使用一维数组存放猴子从1到n的编号,定义参加选举猴王的最多猴子数为40。2) i为每次循环时计数变量,k为按1,2,3,m报数时的计数变量,t表示退出的猴子数。依次将退出的猴子对应的数组元素置0,直到只剩下一只猴子。3) 找出数组中不为0的ai,输出该数。三、实验结果(源程序 + 注释)1. 源程序#include#includeusing namespace std;void main() const int N=100; int aN,t,i,j,n; coutn; cout请输入有n个整数的无序数列:endl; for(i=0;iai; if(a0a1) t=a0;a0=a1;a1=t; for(i=2;iaj&j=n)j+;if(j=j;k-) ak=ak-1; aj=t; cout原数列按升序排列为:endl; for(i=0;in;i+) coutai ; coutendl;2 源程序#includeusing namespace std;void main() const int N=40; int n, m, aN; int i,j,k; coutn; coutm; for(i=0;in;i+) ai=i+1; i=0; j=0; k=0; while(kn-1) if(ai!=0) j+; if(j=m)ai=0;j=0;k+; i+; if(i=n) i=0; i=0; while(ai=0) i+; cout猴王原先的编号是aiendl;实验9教学班级: 学生学号: 学生姓名: 实验日期:2013年5月1日 实验地点: (机房) 指导教师签名:_ 实验成绩:_ 一、实验目的1掌握二维数值型数组的使用方法;2. 掌握string类字符串的使用方法。二、实验任务1.自动产生N*N数据(N取值最大不超过100)存入a数组,数据形成规律如下图示(呈S形),并取出a的下三角形区域数据输出,输出形式如下图所示(呈等腰三角形)。2. 从键盘上输入任意两个字符串,比较它们是否相同,将它们连接成一个新的字符串并输出,输出这个新的字符串的有效长度。三、实验结果(源程序 + 注释)1.源程序#include#includeusing namespace std;void main() int a1010,i,j,n,k=0; coutn; a00=1; for(i=0;in;i+) for(j=0;jn;j+) if(i%2=0) ai+10=ai0+2*n-1; aij+1=aij+1; if(i%2!=0) ai+10=ai0+1; aij+1=aij-1; for(i=0;in;i+) for(j=0;jn;j+) coutsetw(6)aij; k+; if(k%n=0) coutendl; for(i=0;in;i+) coutsetw(3*(n-1-i) ; for(j=0;j=i;j+) coutsetw(6)aij; coutendl;2.源程序#include#includeusing namespace std;void main() string s1,s2,s; cout请输入第一个字符串:endl; getline(cin,s1); cout请输入第二个字符串:endl; getline(cin,s2); if(s1=s2) cout这两个字符串相同endl; else cout这两个字符串不同endl; s=s1+s2; cout将它们连接成一个新的字符串为:sendl; cout这个新的字符串的有效长度为:s.size()endl;实验10教学班级: 学生学号: 学生姓名: 实验日期:2014年5月2日 实验地点: (机房) 指导教师签名:_ 实验成绩:_ 一、实验目的1熟练指针变量的使用,了解其编程技巧。二、实验任务1. 使用指针法在的一组数据中,找出其中最大值所在的位置并输出。2. 使用指针法对一维数组a中的数据按降序排列。三、实验结果(源程序 + 注释)1.源程序#includeusing namespace std;void main() int a100,i=0,n,j,max,*p; coutn;cout请输入一组数据的个数为n的数据:endl;for(i=0;iai;max=a0;for(i=0;in-1;i+)for(j=i+1;jmax)p=&ai;max=ai;cout其中最大值所在的位置为:pendl;2.源程序#includeusing namespace std;void main()
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 康复辅具的跨国合作与市场准入考核试卷
- 木材切割精度控制技术考核试卷
- 停车设备行业营销策略与渠道建设考核试卷
- 图书、报刊行业风险管理考核试卷
- 电工培训课件
- 再生物资回收在气候变化适应策略中的应用考核试卷
- 家居纺织品的文化与艺术欣赏考核试卷
- 土地利用规划中的乡村景观规划考核试卷
- 快递商铺转让合同范本
- 采购合作合同范本
- 2023年新改版教科版五年级下册科学全册教案(附知识点)
- 固定式塔式起重机基础设计及计算
- 奶牛性控冻精的使用细则:张相文 整理
- GB/T 34376-2017数控板料折弯机技术条件
- GB/T 22492-2008大豆肽粉
- 三年级下册竖式脱式计算
- 《财务风险的识别与评估管理国内外文献综述》
- 海口市存量房买卖合同模板(范本)
- 经典文学作品中的女性形象研究外文文献翻译2016年
- 高炉煤气安全知识的培训
- 2008 年全国高校俄语专业四级水平测试试卷
评论
0/150
提交评论