西南交大2014-2015各次C++上机实验报告答案(全)_第1页
西南交大2014-2015各次C++上机实验报告答案(全)_第2页
西南交大2014-2015各次C++上机实验报告答案(全)_第3页
西南交大2014-2015各次C++上机实验报告答案(全)_第4页
西南交大2014-2015各次C++上机实验报告答案(全)_第5页
已阅读5页,还剩56页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、2014-2015各次C+上机实验报告答案(全)实验_1_实验报告一、实验目的1熟悉Visual studio 6.0集成开发环境;2学习新建和打开控制台应用程序的方法;3通过运行示例程序了解程序开发过程;二、实验任务1新建源程序文件,编辑以下程序,编译,链接,得出运行结果,并保存程序:#include <iostream>using namespace std;void main( )cout<<'a'<<endl;/*输出语句*/cout<<'141'<<endl; cout<<'

2、;x61'<<endl; 2新建源程序文件,编辑以下程序,编译,链接,运行,输入36和64,得出运行结果,并保存程序:#include <iostream>using namespace std;int main()float num1,num2,sum;cout << "Enter first number: "/*输出语句*/cin >> num1; /*输入语句*/cout << "Enter second number: "cin >> num2; /*输入语句*/s

3、um=num1+num2; /*运算语句*/cout << "The sum is " << sum << endl; /*输出语句*/return 0;三、实验结果 1. 2实验一 实验报告1、 实验目的 1.熟悉C+程序的集成开发环境; 2.学习新建和打开控制台应用程序的方法; 3.掌握简单数据运算以及输入与输出方法。2、 实验任务 1.输入一个摄氏温度,输出并显示转换出的华氏温度(提示: 摄氏温度=(华氏温度32)*5/9); 2.画出一头威武雄壮的雄狮。3、 实验结果(源程序+注释) 1.求“摄氏温度=(华氏温度32)*5/9”的

4、程序及其运行如下:#include "stdafx.h"int _tmain(int argc, _TCHAR* argv)return 0;#include<iostream>using namespace std;void main()/*主函数*/double a,b;/*定义变量*/cout<<"请输入摄氏温度:"cin>>a;b=5*a/9.0+32.0;/*计算过程*/cout<<"华氏摄氏度:"<<b;system("pause");/*使运

5、行结果一直显示*/2. 画一头威武雄壮的雄狮的程序及其运算结果如下:/ 20131054 005.cpp : 定义控制台应用程序的入口点。/#include "stdafx.h"int _tmain(int argc, _TCHAR* argv)return 0;#include<iostream>using namespace std;void main()/*主函数*/cout<<"20131054"<<endl; cout<<" ,%"<<endl;/*输入输出语句*/

6、 cout<<" ,%/%/%"<<endl; cout<<" ,%c“”J/%"<<endl; cout<<" %. %/ o o %"<<endl; cout<<" '%. % _ |%"<<endl; cout<<" '% '%(_Y_)%"<<endl; cout<<" / ;%'-/%' "<

7、;<endl; cout<<" ( / '%'"<<endl; cout<<" .' |"<<endl; cout<<" / |"<<endl; cout<<" / )|"<<endl; cout<<" /_ |_"<<endl; cout<<" (_)"<<endl; /*输入输出语句*/ system

8、("pause");/*使运行结果停顿*/实验_2_实验报告一、实验目的1掌握对一般数据的输入和输出格式控制方法;2掌握对实型数据输出形式的设置和小数位数的控制方法;3了解数据输入的相关注意事项。二、实验任务及三、实验结果(源程序 + 注释)如下:1. 键盘输入某台计算机的编号和该计算机的价格,并输出这些信息。要求:编号为11位数字构成,如10987654321;价格含有小数部分,如998.0元;输出的编号只是由数字组成,不应该出现小数点等非数字符号。源程序:#include<iostream>using namespace std;void main()dou

9、ble a,b;/*定义变量*/cout<<"20131054"<<endl;cout<<"请输入计算机的编号:"cin>>a;cout<<fixed;cout.precision(0);/*确定精度*/cout<<"计算机的编号为:"<<a<<endl;cout<<"请输入计算机的价格:"cin>>b;cout<<fixed;cout.precision(1);/*确定精度*/cou

10、t<<"计算机的价格为:"<<b;2. 有一种加密方法是用原来字母的第n个字母代替原来的宁母。例如把A用其后第4个字母E来替代。现在有一密文内容为wigvix,编程求出它的原文是什么?(提示:可根据上述加密原理,使用若干字符型变量来实现)。源程序:#include<iostream>using namespace std;void main()char a,b,c,d,e,f;/*定义变量*/cout<<"20131054"<<endl;cout<<"请输入密文: &quo

11、t;cin>>a>>b>>c>>d>>e>>f;/*输入密文*/a=a-4;b=b-4;c=c-4;d=d-4;e=e-4;f=f-4;/*解密过程*/cout<<"原始密码为: "<<a<<b<<c<<d<<e<<f<<endl; 3. 编程实现:在计算机的提示下输入某学生的学号、英语成绩、高等数学成绩、线性代数成绩,计算得出三门课程平均成绩,并按如下格式输出显示。 成绩单 学 号 20100002 * 科

12、 目 成 绩 - 英 语 85 高等数学 90 线性代数 88.5 * 平均成绩 87.8源程序:#include<iostream>#include"iomanip"using namespace std;int main()float a,score1,score2,score3,average;cout<<"20131054"<<endl;cout<<"请输入三门课程的考试成绩:"<<endl;cin>>score1>>score2>>

13、;score3;average=(score1+score2+score3)/3;/*计算平均分*/cout<<"成绩单"<<endl;cout<<"学 号"cin>>setw(6)>>a;cout<<"*"<<endl;cout<<"科目"<<setw(16)<<"成绩"<<endl;/*行对齐*/cout<<"-"<<

14、endl;cout<<"英语"<<setw(15)<<score1<<endl;/*行对齐*/cout<<"高等数学"<<setw(11)<<score2<<endl;/*行对齐*/cout<<"线性代数"<<setw(12)<<score3<<endl;/*行对齐*/cout<<"*"<<endl;cout<<fixed;cout.pr

15、ecision(1);/*确定精度*/cout<<"平均成绩:"<<setw(11)<<average<<endl;/*行对齐*/实验_3_实验报告一、实验目的1. 掌握“处理某一或某些操作只有在特定条件成立的情况下才会被执行”的编程思路和方法;2. 掌握简单分支程序设计,以及if和if-else语句的使用方法。二、实验任务1 已知一函数,输入x的值,求解并输出相应的y值。2 求一元二次方程ax2+bx+c=0的根,其中a、b、c为实数,由键盘输入。三、实验结果(源程序 + 注释)1.源代码及运行结果:#include<

16、iostream>using namespace std;void main()double x,y;/定义变量cout<<"20131054"<<endl;while(1)/不断进行运算cout<<"请输入x的值:"cin>>x;if(x<1)y=x;/x<10elseif(x<10)y=2*x-1;/1x<10elsey=3*x-11;/x10cout<<"y的值为:"<<y<<endl;2. 源代码及运行结果:#in

17、clude<iostream>#include"math.h"using namespace std;void main( )float a,b,c,t,del,tw,term1,term2;cout<<"20131054"<<endl;cout<<"请输入a、b、c的值:"<<endl;cin>>a>>b>>c;if(a=0) if(b=0) cout<< "该方程无根!"<<endl;/此时没

18、有二次项 else cout<<"该一元二次方程的单根为:"<<endl<<-c/b<<endl;/有单根elsedel=b*b-4*a*c;/求deltw=2*a; /代表被除数t=abs(del);/取del的绝对值term1=-b/tw;/根的前半部分term2=sqrt(t)/tw;/根的后半部分 if(del<0)/del为负,有复数根 cout<<"该一元二次方程的复数根(两个)的实部和虚部分别为:"<< term1<<","<

19、<term2<<endl; else cout<<"该一元二次方程的两个实数根分别为:"<<term1+term2<<","<<term1-term2<<endl;实验_4_实验报告一、实验目的1掌握多路分支结构的程序设计,以及switch语句的使用方法;2学习通过程序调试来跟踪程序运行过程,查看程序运行过程中各个变量的取值变化 情况。二、实验任务1模拟二人猜拳游戏:剪刀石头布。要求:(1)给出选项菜单如下*新一局*1.出剪子 2.出石头 3.出布 * 请输入选择的数字: 根据

20、两个用户输入给出猜拳“战况”。2.键盘输入一个数,判定:能不能被3、5和7整除,并如果失败输出失败的具体原因。3. 输入某年某月某日,判断这一天是这一年的第几天。三、实验结果(源程序 + 注释)1. 源程序:#include<iostream>using namespace std;void main()int a,b;/*定义甲乙出拳情况*/cout<<"20131054"<<endl;while(1)/*使游戏可以循环进行*/cout<<"*新一局*"<<endl;cout<<&

21、quot;1.出剪子"<<endl<<"2.出石头"<<endl<<"3.出布"<<endl;cout<<"*"<<endl;cout<<"请甲出拳:"<<endl;cin>>a;switch(a)case 0: cout<<"游戏已经结束!"<<endl;/*考虑游戏结束的情况*/ break;case 1: cout<<&quo

22、t;请乙出拳:"<<endl; cin>>b; for(;b!=1&&b!=2&&b!=3;) cout<<"乙出拳无效!"<<endl; cout<<"请乙再次出拳:"<<endl; cin>>b; if(b=1) cout<<"甲乙出拳相同,游戏重新开始!"<<endl; else if(b=2) cout<<"乙赢了!"<<endl; e

23、lse if(b=3) cout<<"甲赢了!"<<endl;break;/*在甲输入一定的情况下,根据乙的输入情况得出游戏结果*/case 2: cout<<"请乙出拳:"<<endl; cin>>b; for(;b!=1&&b!=2&&b!=3;) cout<<"乙出拳无效!"<<endl; cout<<"请乙再次出拳:"<<endl; cin>>b; if(b

24、=1) cout<<"甲赢了!"<<endl; else if(b=2) cout<<"甲乙出拳相同,游戏重新开始!"<<endl; else if(b=3) cout<<"乙赢了!"<<endl;break;/*在甲输入一定的情况下,根据乙的输入情况得出游戏结果*/case 3: cout<<"请乙出拳:"<<endl; cin>>b; for(;b!=1&&b!=2&&b!

25、=3;) cout<<"乙出拳无效!"<<endl; cout<<"请乙再次出拳:"<<endl; cin>>b; if(b=1) cout<<"乙赢了!"<<endl; else if(b=2) cout<<"甲赢了!"<<endl; else if(b=3) cout<<"甲乙出拳相同,游戏重新开始!"<<endl;break;/*在甲输入一定的情况下,根据乙的

26、输入情况得出游戏结果*/default:cout<<"甲出拳无效,请甲再次出拳!"<<endl;/*考虑甲输入不规范的情况*/2. 源程序:#include<iostream>using namespace std;void main()int a;cout<<"20131054"<<endl;while(1)/*使程序一直运行,更易于显示*/cout<<"请输入一个整数:"<<endl;cin>>a;if (a % 3 = 0)/*此时a

27、能被3整除*/ if(a % 5 = 0 | a % 7 = 0)/*a能被5或7整除*/ if (a % 5 = 0 && a % 7 = 0)/*a能被5和7整除*/ cout<<"a能被3,5,7整除!"<<endl; else if (a % 5 = 0)/*a能被5整除*/ cout<<"a能被3,5整除,但不能被7整除!"<<endl; else cout<<"a能被3,7整除,但不能被5整除!"<<endl; else cout<

28、;<"a能被3整除,但不能被5和7整除!"<<endl; else if (a % 5 = 0 | a % 7 = 0)/*a能被5或7整除*/ if (a % 5 = 0 && a % 7 = 0)/*a能被5和7整除*/ cout<<"a能被5,7整除,但不能被3整除!"<<endl; else if (a % 5 = 0)/*a能被5整除*/ cout<<"a能被5整除,但不能被3和7整除!"<<endl; else cout<<&qu

29、ot;a能被7整除,但不能被3和5整除!"<<endl; elsecout<<"a不能被3,5,7整除!"<<endl; 3.源程序:#include<iostream>using namespace std;void main()int day,month,year,sum,leap; cout<<"20131054"<<endl; cout<<"请输入某年某月某日:"<<endl; cin>>year>>

30、;month>>day; switch(month) /*先计算某月以前月份的总天数*/ case 1:sum=0;break; case 2:sum=31;break; case 3:sum=59;break; case 4:sum=90;break; case 5:sum=120;break; case 6:sum=151;break; case 7:sum=181;break; case 8:sum=212;break; case 9:sum=243;break; case 10:sum=273;break; case 11:sum=304;break; case 12:su

31、m=334;break; default:cout<<"输入数据错误!"<<endl;break; sum=sum+day; /*再加上某天的天数*/ if(year%400=0|(year%4=0&&year%100!=0) /*判断year年是不是闰年*/ leap=1; else leap=0; if(leap=1&&month>2) /*如果是闰年且月份大于等于2,总天数应该加一天*/ sum+; cout<<"这是"<<year<<"年的

32、第"<<sum<<"天!"<<endl;实验_5_实验报告一、实验目的1理解“处理某一或某些操作需要被有条件地重复执行”的编程思路和方法;2掌握循环结构的程序设计,以及while、do-while和for循环语句的使用方法。二、实验任务1一只猴子摘了N个桃子第一天吃了一半又多吃了一个,第二天又吃了余下的一半又多吃了一个,到第十天的时候发现还有一个,求N的值。2将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。3. 编程实现十进制整数和八进制整数之间的转换(即将10进制数转换为8进制数,或将8进制数转换为10进制

33、数)。( 提示:在程序中计算xy,可采用教材p233的pow(x,y),以及文件包含命令#include <cmath>)三、实验结果(源程序 + 注释)1.源程序:#include<iostream>using namespace std;void main()int total = 1, i = 10,day = 10;/*赋初值*/cout<<"20131054"<<endl; for(i = 10;i > 0;i-)cout<<"第"<<day<<"

34、;天有"<<total<<"颗桃子!"<<endl; total = (total + 1) * 2;/*通项公式*/ day-;2.源程序:#include<iostream>using namespace std;void main() int num,i; cout<<"20131054"<<endl; while(1) cout<<"请输入一个要分解质因数的正整数:"<<endl; cin>>num; cout

35、<<num<<"=" i=2; while(num!=i)/*如果倒数两个质因数相同,能保证最后一个输出因数不为"1"*/ if(num%i=0)/*因式分解:从2到num检查,看看是不是所求质因数*/ cout<<i<<"*" num/=i; else i+; cout<<num<<endl;3. 源程序:十进制转换为八进制#include <iostream>#include <cmath>using namespace std;voi

36、d main( ) cout<<"20131054"<<endl;while(1)/*保证可以进行多次运算*/int m=0,x=0,n=1;/*每次都要赋初值,防止上一个m对下一个运算起干扰作用*/cout<<"请输入一个十进制整数:"<<endl;cin>>x;while(x>0) m+=x%8*n;/*将所要求的八进制整数显示出来*/ x=x/8;/*将十进制整数除8取余*/ n=n*10;cout<<"则对应的八进制整数为:"<<m<

37、;<endl;八进制转换为十进制#include<iostream>#include<cmath>using namespace std;void main( ) cout<<"20131054"<<endl;while(1)int i=0,m=0,x=0,n=1;/*赋初值*/cout<<"请输入一个八进制整数:"cin>>x;while(x>0)/*控制位数*/ m=m+(x%10)*pow(8.0,i);/*主要计算公式*/ x=x/10; i=i+1;/*计数*/

38、cout<<"则对应的十进制整数为:"<<m<<endl;实验_6_实验报告一、实验目的1掌握循环与选择结构的嵌套的使用方法;2掌握嵌套循环的使用方法。二、实验任务1.计算多项式前n项的和。截止到最后一项的值与1的差小于002。2求1-1000中能被3整除,且不能被7整除,且至少有一位数是5的整数。3.用循环结构语句编程并输出下图,其行数和每行的数据个数由键盘给出。例如:键盘输入:5和8,则运行结果如下三、实验结果(源程序 + 注释)1.源程序:全部显示:#include<iostream>using namespace st

39、d;void main()cout<<"20131054"<<endl;double s,sum=0,n=1;/*定义变量,赋初值*/do s=n*(n+2)/(n+1)*(n+3); sum=sum+s; n=n+1;/*n逐一增加*/ cout<<sum<<endl; /*每次都输出sum*/ while(s<0.98); /*循环结束条件*/只显示最后结果:(与前面的区别是:语句“cout<<sum<<endl;”是否在循环体内)#include<iostream>using n

40、amespace std;void main()double s,sum=0,n=1;/*定义变量,赋初值* / do s=n*(n+2)/(n+1)*(n+3);sum=sum+s; n=n+1; /*n逐一增加*/ while(s<0.98); /*循环结束条件*/ cout<<sum<<endl; /*最后一次输出sum*/ 2. 源程序:#include<iostream>#include"iomanip"using namespace std;void main()cout<<"20131054&qu

41、ot;<<endl;int i=15,j=0;/*i的初值为15*/for(;i<1001;i+)if(i%3=0&&i%7!=0&&(i%10=5|i/10=5|i/100=5)/*条件设定*/cout<<setw(3)<<i<<" "/*右对齐且间隔输出数字*/ if(+j>4) /*a按5个一行输出数字*/ j=0;/*每循环一次将j置零*/ cout<<endl;cout<<endl;/*最后一行换行*/3.源程序:#include<iostre

42、am>using namespace std;void main()cout<<"20131054"<<endl;while(1)/*可以循环输入输出*/int i , j , k,m = 0, n = 0 ;/*定义变量,赋初值*/cout<<"请输入图形的行数和每行的数据个数:"<<endl;cin>>m>>n;for(i=-m;i<=m;i+)/*输出(2m+1)行数字*/ for(k=0;k<(m-abs(i)+1);k+)/*(m-abs(i)+1)是i行

43、首的空格数*/ cout<<" "/*输出空格*/for(j=0;j<n;j+)/*每行输出n个数字或"*"*/ if(i=0) cout<<"*"/*0行输出n个"*"*/ else cout<<m-abs(i)+1;/*(m-abs(i)+1)也是i行对应的数字*/cout<<endl;/*每输出一行就换行*/实验_7_实验报告一、实验目的1掌握数值型一维数组的使用方法; 2掌握对一组同类型的数据进行插入、删除、排序和查找等常用算法。二、实验任务1. 对两个

44、无序的数组(其中数组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.源程序(起

45、泡法):#include<iostream>using namespace std;int main()cout<<"20131054"<<endl;while(1)/*不断输入*/int const N=20;int i,j,t,m,n,aN,bN;/*定义变量*/cout<<"请分别输入n和m的数值:"<<endl;cin>>n>>m;cout<<"请输入"<<n<<"个数"<<e

46、ndl;for(i=0;i<=n-1;i+)cin>>ai;/*输入数组a元素*/cout<<"请输入"<<m<<"个数"<<endl;for(i=0;i<=m-1;i+)cin>>bi;/*输入数组b元素*/for(i=0; i<n-1; i+)for(j=0; j<n-i-1; j+) if(aj>aj+1) t=aj; aj=aj+1; aj+1=t; /*交换变量顺序*/for(i=0; i<m-1; i+)for(j=0; j<m-

47、i-1; j+) if(bj>bj+1) t=bj; bj=bj+1; bj+1=t; /*使数据沉底*/cout<<"数组a排序后的结果为:"<<endl;for(i=0;i<=n-1;i+)cout<<ai<<" "cout<<endl;/*输出数组a排序后的结果*/cout<<"数组b排序后的结果为:"<<endl;for(i=0;i<=m-1;i+)cout<<bi<<" "/*输出

48、数组b排序后的结果*/cout<<endl<<endl;源程序(选择法):#include<iostream>using namespace std;int main()cout<<"20131054"<<endl;while(1)/*不断输入*/int const N=20;int i,j,t,m,n,aN,bN; /*定义变量*/cout<<"请输入分别n和m的数值:"<<endl;cin>>n>>m;cout<<"请输入

49、"<<n<<"个数"<<endl;for(i=0;i<=n-1;i+)cin>>ai;cout<<"请输入"<<m<<"个数"<<endl;for(i=0;i<=m-1;i+)cin>>bi;for(i=0;i<=n-2;i+)for(j=i+1;j<=n-1;j+) if(aj<ai)/*循环条件*/t=ai;ai=aj;aj=t; /*交换变量顺序*/for(i=0;i<=m-2

50、;i+)for(j=i+1;j<=m-1;j+)/*循环条件*/if(bj<bi)t=bi;bi=bj;bj=t; /*交换变量顺序*/cout<<"数组a排序后为:"<<endl;for(i=0;i<=n-1;i+)cout<<ai<<" "cout<<endl;cout<<"数组b排序后为:"<<endl;for(i=0;i<=m-1;i+)cout<<bi<<" "cout<

51、;<endl<<endl;2. 源程序:#include<iostream>using namespace std;int main()cout<<"20131054"<<endl;while(1)/*不断输入*/int const N=20;int i,j,t,m,n,aN,bN,cN;/*定义变量*/int ia=0,ic=0,ib=0;/*为变量赋初值*/cout<<"请分别输入n和m的数值:"<<endl;cin>>n>>m;cout<&l

52、t;"请输入"<<n<<"个数"<<endl;for(i=0;i<=n-1;i+) cin>>ai;cout<<"请输入"<<m<<"个数"<<endl;for(i=0;i<=m-1;i+) cin>>bi;for(i=0;i<=n-2;i+) for(j=i+1;j<=n-1;j+) if(aj<ai) t=ai;ai=aj;aj=t;/*选择法排序*/for(i=0;i<

53、;=m-2;i+) for(j=i+1;j<=m-1;j+) if(bj<bi) t=bi;bi=bj;bj=t;/*选择法排序*/while(ia<=n-1&&ib<=m-1) if(aia<=bib) cic=aia;ia=ia+1;ic=ic+1; else cic=bib;ib=ib+1;ic=ic+1;if(ia=n) for(i=ib;i<=m-1;i+) cic=bi;ic=ic+1;if(ib=m) for(i=ia;i<=n-1;i+) cic=ai;ic=ic+1;/*合并数组*/cout<<endl;c

54、out<<"两数组合并后为:"<<endl;for(i=0;i<=m+n-1;i+) cout<<ci<<" "/*输出结果*/3. 源程序:#include "stdafx.h"#include<iostream>using namespace std;int main()cout<<"20131054"<<endl;while(1)/*不断输入*/int const N=20;int i,j,m,n,aN,bN,cN,dN

55、,t;float avg,sum=0;int ia=0,ic=0,ib=0;/*定义变量并赋初值*/cout<<"请分别输入n和m的数值:"<<endl;cin>>n>>m;cout<<"请输入"<<n<<"个数"<<endl;for(i=0;i<=n-1;i+) cin>>ai;cout<<"请输入"<<m<<"个数"<<endl;f

56、or(i=0;i<=m-1;i+) cin>>bi;for(i=0;i<=n-2;i+) for(j=i+1;j<=n-1;j+) if(aj<ai) t=ai;ai=aj;aj=t;/*选择排序法*/for(i=0;i<=m-2;i+) for(j=i+1;j<=m-1;j+) if(bj<bi) t=bi;bi=bj;bj=t;/*选择排序法*/while(ia<=n-1&&ib<=m-1) if(aia<=bib) cic=aia;ia=ia+1;ic=ic+1; else cic=bib;ib=ib

57、+1;ic=ic+1;if(ia=n) for(i=ib;i<=m-1;i+) cic=bi;ic=ic+1;if(ib=m) for(i=ia;i<=n-1;i+) cic=ai;ic=ic+1;/*合并数组*/for(i=0;i<=m+n-1;i+) sum=sum+ci; avg=sum/(m+n);/*计算平均值*/cout<<"c组平均数为:"<<avg<<endl;for(i=0,j=0;i<=m+n-1;i+) if(ci>avg) dj=ci;j+;/*数据归类*/cout<<&q

58、uot;c组删除低于平均数的数值后为:"<<endl;for(i=0;i<j;i+) cout<<di<<" "/*输出结果*/cout<<endl<<endl;实验_8_实验报告一、实验目的1掌握对一组同类型的数据进行插入、删除、排序和查找等的常用算法。二、实验任务1.自动产生N*N数据(N取值最大不超过100)存入a数组,数据形成规律如下图示(呈S形),并取出a的下三角形区域数据输出,输出形式如下图所示(呈等腰三角形)。(选择)2. 使用插入排序法将键盘输入的无序数列按升序排列。思路分析与算法:

59、1) 从第一个元素开始,该元素可以认为已经被排序。2) 取出下一个元素,在已经排序的元素序列中从后向前扫描。3) 如果该元素(已排序)大于新元素,将该元素移到下一位置。4) 重复步骤3,直到找到已排序的元素小于或者等于新元素的位置。5) 将新元素插入到该位置中。6) 重复步骤2。三、实验结果(源程序 + 注释)1.源程序:#include<iostream>#include<cstdlib>#include<ctime>#include<iomanip>/添加所需系统函数using namespace std;void main()const i

60、nt M=100;int aMM,N;/定义变量cout<<"20131054"<<endl;cout<<"please enter n:"cin>>N;/输入N值for(int i=0;i<N;i+)for(int j=0;j<N;j+)aij=N*i+j+1;for(int i=0;i<N;i+) for(int j=0;j<N;j+) if(i+1)%2!=0)/判断条件 cout<<setw(5)<<aij; else cout<<setw

61、(5)<<aiN-1-j; cout<<endl; for(int i=0;i<N;i+)for(int j=0;j<=i;j+)if(i+1)%2!=0)/判断条件if(j=0) cout<<setw(N-i)*2)<<aij;elsecout<<setw(4)<<aij;elseif(j=0) cout<<setw(N-i)*2)<<aiN-1-j;elsecout<<setw(4)<<aiN-1-j;cout<<endl;2.源程序:#inclu

62、de<iostream>#include"iomanip"using namespace std;void main()int a10,i,j,b10;/定义变量cout<<"20131054"<<endl;cout<<"请依次输入数列的值:"for(i=0;i<10;i+)cin>>ai;b0=a0;/初始化数据for(i=1;i<10;i+)for(j=i-1;j>=0;j-)if(ai<bj)bj+1=bj;bj=ai;/用选择法的思想排列数据e

63、lse if(ai>bj) bj+1=ai;break;for(j=0;j<10;j+)cout<<setw(5)<<bj;/输出结果 实验_9_实验报告一、实验目的1掌握二维数值型数组的使用方法;2. 掌握string类字符串的使用方法。二、实验任务1. 输入一个字符串到一个字符数组s(最大长度100),将该字符数组置逆,并输出置逆后的字符数组。2.从键盘上输入任意两个字符串,比较它们是否相同,将它们连接成一个新的字符串并输出,输出这个新的字符串的有效长度。三、实验结果(源程序 + 注释)1.源程序:#include<iostream>using namespace std;int main()int num,i; char t,p100; cout<<"20131054"<<endl; cout<<"Input the previous p:"<<endl; gets(p);/获得字符串 cout<<"Input the new string:"<<endl; cin&g

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论