




已阅读5页,还剩11页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验_7_实验报告教学班级:35学生学号:20080322 学生姓名:贾启彬实验日期:2010.5.7 实验地点:7408(机房) 指导教师签名:_ 实验成绩:_ 一、实验目的1掌握对一组同类型的数据进行插入、删除、排序和查找等的常用算法;2掌握数值型一维数组的使用方法;二、实验任务1. 输入n个数,找出所有大于n个数的平均值的那些数及最小数。2. 设有有序(值从小到大)的两组数据,将这两组数据有序合并(合并过程数据始终保持有序)。(提示:两组原始数据用一维数组a,b表示,合并后的数据用一维数组c表示,ia,ib分别代表当前待放入到数组c中去的数组a,b的下标,ic指向数组c中当前存放数据的下标,如下图所示。)三、实验结果(源程序 + 注释)#include using namespace std;void main()int a20,b=0,i,j,n,c;coutn;coutinput n numbersendl;for(i=0;iai;b=b+ai;c=b/n;for(j=0;jc) coutthe number is:ajendl;for(i=0;in-1;i+)for(j=i+1;jaj)c=ai;ai=aj;aj=c;coutsmallest:a0endl; #include using namespace std;void main()int i,j,t=0,ic=0,a5,b7,c12;coutplease 5 input(small to big):;for(i=0;iai;coutanother 7 one:;for(i=0;ibi;for(i=0;i5;i+)cic=ai;ic+;for(i=0;i7;i+)cic=bi;ic+;for(i=0;i=ic;i+)for(j=i+1;jcj)t=ci;ci=cj;cj=t;for(i=0;i=ic;i+)if(ci=ci+1) continue;coutciendl;实验_8_实验报告教学班级:35 学生学号:20080322 学生姓名:贾启彬实验日期:2010.5.14 实验地点:7408(机房) 指导教师签名:_ 实验成绩:_ 一、实验目的1掌握对一组同类型的数据进行插入、删除、排序和查找等的常用算法;2掌握二维数值型数组的使用方法;二、实验任务1. 输出以下杨辉三角形。11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 11 6 15 20 15 6 11 7 21 35 35 21 7 11 8 28 56 70 56 28 8 11 9 36 84 126 126 84 36 9 12. 有一个3*4的矩阵,要求编程序找出每一行中值最大的那个元素并与该行第1列的元素交换。三、实验结果(源程序 + 注释)#include/文字包含命令#includeiomanipusing namespace std;void main() int i,j,a1010; for(i=0;i10;i+) for(j=0;j=i;j+)/双重嵌套循环结构 if (j=0|j=i) aij=1; else aij=ai-1j-1+ai-1j;/为各个数组元素赋值,每行第j个元素等于上一行 第j个和第j-1个元素之和 cout杨辉三角是:endl; for(i=0;i10;i+) for(j=0;j9-i;j+)/当行数i与列数j关系为j9-i时输出两个空 coutsetw(2) ;格,而列数ji+1时输出相应位的元素。同时 for(j=0;j=i;j+)每行之后要换行。coutsetw(2)aij ;coutendl; #include #includeusing namespace std;void main() int a34,n,m,x,max=0,k;/定义数组和相应变量。 cout”please input 12:”endl; for(n=0;n3;n+) for(m=0;manm;/输入3*4矩阵, for(n=0;n3;n+) for(m=0;m4;m+) if(maxanm)/将每行最大值赋给max,同时用x max=anm;记住最大值的列数,每行执行完循环, x=m; 交换第一列和最大值元素的值。 k=anx;anx=an0;an0=k; coutendl; for(n=0;n3;n+)/按顺序输出数组元素,同时每行结 for(m=0;m4;m+)束记住换行。 coutsetw(5)anm; coutendl; 实验_9_实验报告教学班级:35 学生学号:20080322 学生姓名:贾启彬实验日期:2010.5.21 实验地点:7408(机房) 指导教师签名:_ 实验成绩:_ 一、实验目的1熟练指针变量的使用,了解其编程技巧;2熟练指针变量做函数参数,了解其传递过程;3熟练指向数组元素的指针,了解指针引用数组元素的编程技巧。二、实验任务1. 使用指针法在的一组数据中,找出其中最大值所在的位置并输出。2. 使用指针法对一维数组a中的数据按降序排列。三、实验结果(源程序 + 注释)#include using namespace std;void main()int a20,*p,n,i,max;coutinput n:n;coutinput n number:endl;for(p=a;p-a*p;for(p=a,max=*a;p-an;p+)if(max*p)max=*p;i=p-a+1;coutlargest:maxendl;coutposition:iendl;#include #include using namespace std;void main()int i,j,a20,*p,n,t;coutinput n:n;coutinput n numbersendl;for(p=a;p-a*p;p=a;for(i=0;in-1;i+)for(j=i+1;jn;j+)if(*(p+i)*(p+j)t=*(p+i);*(p+i)=*(p+j);*(p+j)=t;for(p=a;p-an;p+)coutsetw(3)*p;实验_10_实验报告教学班级:35 学生学号:20080322 学生姓名:贾启彬实验日期:2010.5.28 实验地点:7408(机房) 指导教师签名:_ 实验成绩:_ 一、实验目的1了解存放常用的系统函数的头文件;2掌握常用系统函数的功能和使用方法;3掌握返回值的概念和运用。二、实验任务1. 接受用户输入的数值,计算该数的绝对值和该绝对值以10为底的对数值,并输出计算结果。(提示:使用内置的绝对值函数和对数函数。)2. 编写两个子函数,分别求两个整数的最大公约数和最小公倍数,并编写主函数调用这两个子函数,输出结果,两个整数由键盘输入。三、实验结果(源程序 + 注释)#include #include using namespace std;void main()double x,f,l;coutplease input:x;f=fabs(x);l=log10(f);cout绝对值:fendl;cout对数值:lendl;#include using namespace std;void main()int a,b,max,min;int miny(int a,int b);int maxy(int a,int b);coutplease input 2 numbers:ab;max=maxy(a,b);min=miny(a,b);cout最大公约数:maxendl;cout最小公倍数:minendl;int maxy(int a,int b)int i,j;i=ab?a:b;while(a%i!=0|b%i!=0)i-=1;return i;int miny(int a,int b)int i,j;i=ab?a:b;while(j%a!=0|j%b!=0)j+=1;return j;实验_11_实验报告教学班级:35 学生学号:20080322 学生姓名:贾启彬实验日期:2010.6.4 实验地点:7408(机房) 指导教师签名:_ 实验成绩:_ 一、实验目的1掌握自定义有返回值函数的概念、定义及使用;2掌握自定义void函数的概念、定义及使用; 3掌握自定义有返回值函数与自定义void函数在定义及使用上的区别;4掌握函数参数间的数据传递。二、实验任务1. 设计一个程序,用来计算输入的两个整数的加、减、乘、除,每一个计算要单独用一个用户自定义的void函数来实现,接收输入数据也要用void函数来实现,输入数据中不包含0。2. 将键盘输入的10个整数按从小到大的顺序排序(冒泡法),要求排序功能用自定义函数实现。三、实验结果(源程序 + 注释)一#include using namespace std;void input(int &a,int &b)cinab;void add(int &a,int &b,int &c) c=a+b; void sub(int &a,int &b,int &c)c=a-b;void mul(int &a,int &b,int &c)c=a*b;void div(int &a,int &b,int &c)c=a/b;void main()int a,b,c;cout请输入a,b的值:endl; input(a,b);add(a,b,c); couta+b = cendl; sub(a,b,c); couta-b = cendl;mul(a,b,c); couta*b = cendl;div(a,b,c);couta/b = cendl;二#include using namespace std;void line(int a)int i,j,t;for (i=0;i10;i+)for (j=0;jaj+1) t=aj;aj=aj+1;aj+1=t;void main()int a10,i;cout请输入第10个数:endl;for (i=0;iai;line(a); cout数组a排序后:endl;for (i=0;i10;i+)coutai ;实验_12_实验报告教学班级:_ 学生学号:_ 学生姓名:_实验日期:_ 实验地点:_(机房) 指导教师签名:_ 实验成绩:_ 一、实验目的1建立文件、读写文件的操作;2文件指针的定位操作。二、实验任务1编写一个程序,用来从键盘读取本班同学的期末成绩,并把该成绩保存在score.dat文件中。Score.dat文件内容如下:numberChineseEnglishC18776672678765376888744689882编写一个程序,用来读取上题创建的score.dat数据文件,并计算其平均成绩和期末总成绩。把计算的结果存在statistics.dat文件中,并输出成绩有不及格的学生的学号。其格式如下:numberChineseEnglishCtotalaverage187766723076.67267876521973376888725183.67446898822374.3三、实验结果(源程序 + 注释)1. #include 2. #include 3. using namespace std;4. int main()5. 6. int num,chi,eng,c,i,n;7. fstream file1;8. file1.open(C:score.dat,ios:out);9. if (!file1)10. cout文件打开失败!endl;11. else12. 13. coutn;15. file1numbertChinesetEnglishtCn; /写入文件头部内容16. for (i=0;in;i+)17. 18. cout请输入第i+1个学生成绩:格式为“number Chinese English C”:numchiengc; 20. file1numtchitengtcendl; /由键盘接收数据,写入文件21. 22. file1.close();23. 24. return 0;25. 26. #include 27. #include 28. using namespace std;29. struct student30. 31. int num,chi,eng,c,total;32. double ave;33. stu10; /定义结构体变量用于储存学生数据34. void spaces(char s) /该函数用于清空字符串s35. 36. s0=0;s1=0;s2=0;37. 38. int charstoint(char s) /该函数用于将3位或3位以下数字字符串转化为int类型39. 40. int i,n=0;41. for (i=0;i=0&si=9)43. 44. si-=0;45. n+;46. 47. switch (n)48. 49. case 0:break;50. case 1:return s0;51. case 2:return s0*10+s1;52. case 3:return s0*100+s1*10+s2;53. 54. 55. int main()56. 57. int num,chi,eng,c,i,a;58. int line/*第line组数据 */,n/*第n个数据 */;59. char ch,s3;60. fstream file1;61. file1.open(C:score.dat,ios:in);62. if (!file1)63. cout文件打开失败!n;64. else65. 66. i=0;67. while (file1.get(ch)&(ch!=n) /遇到第一个换行结束,即跳过第一行标题栏68. coutch;69. coutttotaltaverageendl;70. line=0;a=0;n=1;spaces(s); /以line和d表示当前读取位置,a自0-2循环写入s71. while (file1.get(ch)72. 73. if (ch=n) 74. 75. stuline.c=charstoint(s); /获得c成绩76. stuline.total=stuline.chi+stuline.eng+stuline.c; /计算总分77. stuline.ave=stuline.total/3.0; /计算平均分78. /cout当前是第line行 第n个; 79. /couts = charstoint(s)endl; /该处s已为该行最后一个数80. coutstuline.numtstuline.chitstuline.engtstuline.c;81. couttstuline.totalt;coutfixed;cout.precision(1);coutstuline.aven; /输出结果82. a=0;n=1;spaces(s); /已至行末,故初始化a,n,s数据83. line+; /行号加184. 85. if (ch=t)86. 87. switch (n)88. 89. case 1:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 翻转课堂对教育学专业学生综合素质提升的促进作用
- 茶旅融合与地方经济可持续发展的协同机制
- 小学宪法考试试题及答案
- 冰川地理考题题库及答案
- 建筑行业智能化发展对项目管理课程的影响
- 基于信息化技术的经济数学教学改革路径
- 《不是乐谱错了》课件
- 原料购买合同(标准版)
- 乐博乐博机器人课件
- 漏水损失评估申请报告(3篇)
- 矿权转让居间合同
- 社交媒体与政治动员-深度研究
- 超级血月全食知识
- 《园林微景观设计与制作》课件-项目二 作品展示
- 大宗商品供应链管理规范
- 工程建设保证金协议
- 综合与实践 白昼时长规律的探究教学设计 2024-2025学年人教版数学七年级下册
- 医院污水处理培训课件
- 加油站项目选址分析
- 直销新人起步培训
- 医疗综合楼手术室、放射科、检验科二次深化设计装饰工程投标方案投标文件(技术方案)
评论
0/150
提交评论