分享
大学计算机A3实验6(1).docx
下载文档

ID:3497629

大小:24.23KB

页数:7页

格式:DOCX

时间:2024-05-16

收藏 分享赚钱
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
大学计算机 A3 实验
实验六 程序三种基本结构 一、实验目的 1.了解程序的基本控制结构顺序结构。 2.了解选择结构的格式。 3.了解循环结构的格式。 二、实验内容 依据实验步骤,将需要填写的内容填写在素材的“算法实验报告.doc”文件中,在实验十三、实验十四两个实验完成后,将该文件命名为“算法-班级-学号-姓名.doc”,(用个人具体信息替换命名格式),然后上传。 1.了解顺序结构 任务名称:交换两个变量的值。如a=1, b=2,交换后a=2, b=1 源代码://1.cpp #include<iostream> using namespace std; int main() { int a=1, b=2; int tmp; cout<<"交换前: a="<<a<<", b="<<b<<endl; tmp=a; a=b; b=tmp; cout<<"交换后: a="<<a<<", b="<<b<<endl; return 0; } 运行结果:(需要截图) 运行结果分析: (1)什么是顺序结构? (2)如何借助第三个变量实现交换两个变量的值? 2.了解选择结构 任务名称:使用if语句判断学生成绩是否及格:大于或等于60分认为及格,否则不及格。 源代码://2.cpp #include<iostream> using namespace std; int main() { int i; cout<<"请输入(百分制)分数:"; cin>>i; if(i>=60) cout<<"成绩为"<<i<<"的分数:及格"<<endl; else cout<<"成绩为"<<i<<"的分数:不及格"<<endl; return 0; } 运行结果:(需要截图) 运行结果分析: (1)什么是选择结构?if语句的基本格式 (2)如果输入的数据不是0~100之间的数,如何处理? 3.了解循环结构 任务名称:使用for语句计算整数1~100的和 源代码://3.cpp #include<iostream> using namespace std; int main() { int sum=0; for(int i=1;i<=100;i++) sum=sum+i; cout<<"1+2+3+...+100="<<sum<<endl; return 0; } 运行结果:(需要截图) 运行结果分析: (1)什么是循环结构?for语句的基本格式是什么? (2)针对for语句的表达式赋初值、控制循环的条件、循环变量的修正,思考下述问题: 如何计算0~100之间的偶数或奇数? 如何计算50~100之间的和,包括50和100? 如何计算0~50之间的和,包括50? 4.开阔思路(选做) 问题:如何依据平时的成绩划分标准,将百分制的成绩转换为优秀、良好、中等、及格、不及格?感兴趣的同学可以参考或运行3-1.cpp 实验六 算法 一、实验目的 1.掌握选择排序的方法 2.掌握冒泡排序的方法。 二、实验内容 依据实验步骤,将需要填写的内容继续填写在素材的“算法实验报告.doc”文件中,在完成本实验十四后,将该文件命名为“算法-班级-学号-姓名.doc”,(用个人具体信息替换命名格式),然后上传。 1.选择排序 任务名称:给出6个数,按照从小到大的顺序,给出利用选择排序方法排序的过程和结果。 //4.cpp能输出每一轮比较的结果,4-1.cpp只能输出原始和最后的结果 源代码: #include<iostream> #define N 10 using namespace std; int main() { int a[N]={8,6,9,3,2,7,11,15,0,4}; int i,j,m,min,tmp; //先输出原始数据 cout<<"排序之前数据为: "; for(i=0;i<N;i++) cout<<"a["<<i<<"]="<<a[i]<<" "; cout<<endl; //比较并输出每轮比较结果 //每次在无序数中找到最小数的下标,然后存放在无序数的第一个位置 for(i=0;i<N-1;i++) { min=i; for(j=i+1;j<N;j++) if(a[j]<a[min]) min=j; tmp=a[i]; a[i]=a[min]; a[min]=tmp; cout<<"第"<<i+1<<"轮比较交换之后 "; for(m=0;m<N;m++) { cout<<"a["<<m<<"]="<<a[m]<<" "; } cout<<endl; } //输出最后结果 cout<<"最后排序结果为: "; for(i=0;i<N;i++) cout<<"a["<<i<<"]="<<a[i]<<" "; cout<<endl; return 0; } 运行结果:(需要截图) 运行结果分析: (1)什么是选择排序? //每次在无序数中找到最小数的下标,然后存放在无序数的第一个位置 (2)如果要求从大到小排序,如何修改程序? 2.冒泡排序 任务名称:给出10个数,按照从小到大的顺序,给出利用冒泡排序方法排序的过程和结果 源代码://5.cpp #include<iostream> #define N 10 using namespace std; int main() { int a[N]={8,6,9,3,2,7,11,15,0,4}; int i,j,m,min,tmp; //先输出原始数据 cout<<"排序之前数据为: "; for(i=0;i<N;i++) cout<<"a["<<i<<"]="<<a[i]<<" "; cout<<endl; //比较并输出每轮比较结果 //在每一轮排序时将相邻的两个数组元素进行比较,次序不对时立即交换位置 //一轮比较结束时小数上浮,大数沉底,有n个数需进行n-1轮操作。 for(i=0;i<N-1;i++) { for(j=0;j<N-i-1;j++) if(a[j]>a[j+1]) { tmp=a[j]; a[j]=a[j+1]; a[j+1]=tmp; } cout<<"第"<<i+1<<"轮比较交换之后 "; for(m=0;m<N;m++) { cout<<"a["<<m<<"]="<<a[m]<<" "; } cout<<endl; } //输出最后结果 cout<<"最后排序结果为: "; for(i=0;i<N;i++) cout<<"a["<<i<<"]="<<a[i]<<" "; cout<<endl; return 0; } 运行结果:(需要截图) 运行结果分析: (1)什么是冒泡排序? //在每一轮排序时将相邻的两个数组元素进行比较,次序不对时立即交换位置,一轮比较结束时小数上浮,大数沉底,有n个数需进行n-1轮操作。 (2)如果要求从大到小排序,如何修改程序?

此文档下载收益归作者所有

下载文档
你可能关注的文档
收起
展开