




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实习题目一1.输出1至100之间每位数的乘积大于每位数的和的数,例如对于数字12,有1*2<1+2, 故不输出该数;对于27,有2*7>2+7,故输出该数。 题目分析: 该题目要求验证并输出1到100之间满足条件的数,故要用for循环来实现依次验证并输出。算法设计: 利用for循环语句,依次进验证,并输出结果。 int i,a,b;for(i=1;i<100;i+)a=i/10;b=i%10;if(a*b>a+b)cout<<i<<" "return i; 调试报告: 由于没有考虑到数字间隔问题,导致输出的数字连在一起。附录:
2、#include "stdafx.h"#include "A_1.h"void TestA_1()int i,a,b;for(i=1;i<100;i+)a=i/10;b=i%10;if(a*b>a+b)cout<<i<<" "运行结果: 实习题目二1 编写一个程序,求出所有的“水仙花数”。所谓水仙花数,是指一个三位数,其各位数 字的立方和恰好等于该数本身。例如153=1*1*1+5*5*5+3*3*3,所以153是水仙花数。题目分析:此题目要求验证并输出满足条件的三位数,因为三位数较好操作,所以用简
3、单程序。算法设计:依次提取三位数的各位数字(百,十,个)提取各位数字:百位:a=i/100;十位:c=i%100/10;个位:d=i/100%10。调试报告: 由于把对变量赋值的语句位置放错,导致编译时不报错但得不到正确的结果。附录:#include "stdafx.h"#include "A_2.h"void TestA_2(int i)int a,b,c,d;cout<<"水仙花数是:"<<endl;for(i=100;i<1000;i+)a=i/100;b=i%100;c=b/10;d=b%10;i
4、f(i=a*a*a+c*c*c+d*d*d)cout<<i<<endl;运行结果:实习题目三3 求任意n个数中的最大数和最小数:先输入一个正整数n(个数),而后再输入任意n个实数,找出这n个数中的最大数及最小数并显示出来。题目分析:这道题要求查找最大值(max)和最小值(min),应该利用两个变量分别进行记录控制。算法设计:用第一个值同时更新两个最值。然后利用for循环控制循环n-1次,每次输入的数和当前最值比较,同时更新最值。调试报告:由于没有注意到i是从0开始循环到(n-1)而不是从1到n,导致编译错误。附录:#include "stdafx.h"
5、;#include "A_3.h"void TestA_3()int i,n,k,max,min,a100;cout<<"请输入n的值:"cin>>n;cout<<"请输入"<<n<<"个数:"for(i=0;i<=n-1;i+)cin>>ai;for(i=1,max=a0,min=a0;i<=n-1;i+)if(ai>max)max=ai;else if(ai<min)min=ai;cout<<"
6、最大数是:"<<max<<endl;cout<<"最小数是:"<<min<<endl;运行结果:实习题目四4 对两个有序数组进行合并:设有如下数组A、B,并假设两个数组的元素都已经有序(从大到小降序排列)。编程序,合并A、B数组形成一个新的数组C,并使C的元素仍有序(从大到小降序排列)。int A10=123,88,86,86,33,15,7,0,-1,-3;int B10=86,69,51,50,27,19,15,12,5,2;题目分析: 该题目要求合并两个已经有序的数组,所以要充分利用数组有序这一特点
7、。现在要做的就是把数字从大到小存入C20中,这就要比较A,B中较大数。算法设计:1. 按照a0,a1,a19的顺序分别与b0,b1,b19循环进行比较。2. 每次找到较大数后将最大数也按循环存储到c0,c1,c19中,每存储一次就将a与b中已存数组和c数组的角标加1即可控制循环3. 当a与b中任何一个角标到9时结束循环,并将另一个数组中剩余数字按顺序存入数组c中即可。调试报告:由于在while()后丢失分号,编译时报错。附录:#include "stdafx.h"#include "B_4.h"void TestB_4()int A10=123,88,8
8、6,86,33,15,7,0,-1,-3;int B10=86,69,51,50,27,19,15,12,5,2;int C20;int i=0,j=0,k=0;while(k<=19)if(Ai>=Bj)Ck=Ai;i+;k+;else Ck=Bj;j+;k+;if(i=10)for(;k<=19;k+,j+)Ck=Bj;if(j=10)for(;k<=19;k+,i+)Ck=Ai;for(i=0;i<=19;i+)cout<<" "<<Ci;cout<<endl;运行结果:实习题目七7编写一个程序计算两个
9、给定长方形的面积,其中在设计类成员函数addarea()(用于计算两个长方形的总面积)时使用对象作为参数。题目分析:题目要求用类来实现计算两个给定长方形的面积,故要申明一个类,并设计类的成员函数,用长和宽作类的私有成员。算法设计:先申明一个矩形类(class rectangle),area作为类的私有成员分别表示矩形的面积。 class Rectrangle/申明矩形类public:Rectrangle();/矩形类构造函数void addarea(Rectrangle a,Rectrangle b);/求和函数void getarea();double showarea();private:
10、double area;调试报告:略。附录:#include "stdafx.h"#include "C_7.h"Rectrangle:Rectrangle()cout<<"构造函数被调用!"<<endl;void Rectrangle:getarea()double x,y;cout<<"请输入长和宽"cin>>x>>y;area=x*y;void Rectrangle:addarea(Rectrangle a,Rectrangle b)area=a.a
11、rea+b.area;double Rectrangle:showarea()return area;void TestC_7() Rectrangle one,two,three; one.getarea(); two.getarea(); three.addarea(one,two); cout<<"第一个长方形的面积是:"<<one.showarea()<<endl; cout<<"第二个长方形的面积是:"<<two.showarea()<<endl; cout<<
12、" 两个长方形的面积总和是:"<<three.showarea()<<endl; 运行结果:实习题目八8以面向对象的概念设计一个类,此类包含3个私有数据:unlead(无铅汽油)、lead(有铅汽油)以及total(当天总收入)。无铅汽油的价格是17元/公升,有铅汽油的价格是16元/公升。请以构造函数方式建立此值。试输入某天所加的汽油量,本程序将列出加油站当天的总收入。题目分析: 该题目是要求用类来实现对汽油的相关计算,故要申明一个汽油类(class petrol),包含三个私有成员:unlead(无铅汽油)、lead(有铅汽油)以及total(当天
13、总收入)。由于要以构造函数方式建立汽油价格的值,可以将汽油的价格(ul_v,l_v)列为公有成员。算法设计: class Totalpublic:Total(double x,double y);/申明有参数的Total类double gettotal(double x,double y);/有参数的函数double showtotal();/无参数的函数private:double unlead;/无铅汽油double lead;/有铅汽油double total;/当天总收入;调试报告: 略。附录:#include "stdafx.h"#include "C_
14、8.h"Total:Total(double x,double y)x=unlead;y=lead;cout<<" "<<endl; double Total:gettotal (double x,double y)cout<<"请输入无铅汽油的用量和有铅汽油的用量:"<<endl;cin>>x>>y;total=17*x+16*y;return total; double Total:showtotal ()cout<<"加油站当天的总收入是:&qu
15、ot;<<total<<endl;return 0;void TestC_8()Total total1(0,0);total1.gettotal (0,0);total1.showtotal();运行结果:实习题目九9设计一个时间类Time,包括3个数据成员,时(h)、分(m)、秒(s),另外包括存取各数据成员和设置时间的成员函数,按上、下午各12小时或按24小时输出时间的成员函数,以及默认构造函数,默认时间值为0时0分0秒。题目分析:这道题是关于类的使用的基础练习题,其中要使用默认构造函数,用24时计时法来存取和设置时间较简单。算法设计:class Timepubl
16、ic:Time ()Hour=0; Minute=0;Second=0;void SetTime(int NewH,int NewM,int NewS);void ShowTime();Time();private:int Hour,Minute,Second;调试报告: 略。附录:#include "stdafx.h"#include "C_9.h"void Time : SetTime(int NewH,int NewM,int NewS)Hour=NewH;Minute=NewM;Second=NewS;void Time:ShowTime()co
17、ut <<Hour<<":"<<Minute<<":"<<Second<<endl;void TestC_9()int x,y,z;cout <<"默认时间"<<endl;Time a;a.ShowTime();cout <<"请输入正确的时,分,秒"<<endl;cin>>x>>y>>z;if (x>=0&&x<24)&&a
18、mp;(y>=0&&y<60)&&(z>=0&&z<60)a.SetTime(x,y,z);a.ShowTime();elsecout<<"输入的时间错误!"<<endl; 运行结果: 课程设计中期设计题目11. 求解一元二次方程。一元二次方程的定义为: ax2+bx+c=0(1)如果b2 -4ac>0,方程有两个不同的实根,分别是: (2)如果b2 -4ac< 0,方程没有实根,但有虚根;(3)如果b2 -4ac= 0,方程有一个实根。请你编写一个程序,使其能求出多
19、个二次方程的根。该程序要询问用户是否想继续解下一个方程。用户输入1来继续,输入其它数字,则终止程序。程序要求用户输入a,b和c,然后根据前面的条件计算,并输出答案。要求:使用类实现(1) a,b,c为该类的私有成员变量;(2) 求根的实现为该类的成员函数,形式为:/函数返回值:实根的个数;/参数:x- 用以返回实根值的数组;long CalResult(float x);(3) 该类还包含有参构造函数、析构函数。(4) 使用MFC工程实现,可酌情加分。题目分析:题目要求使用类来实现求解一元二次方程,所以要定义一个解方程的类,用方程的系数作类的私有数据成员,用类的成员函数得到方程的解,方程的解储
20、存在数组中。算法设计: 由于用用到求平方根的函数,故要用到头文件<cmath>。 class Answer public:Answer (float A ,float B, float C);long Callresult (float x);Answer() private:float a,b,c;调试报告:题目要求运行一次后对操作者进行提问,如果一直回答1,将一直循环下去,由于循环语句没用好,导致只能运行两次。附录:#include "stdafx.h"#include "D_11.h"Answer :Answer (float A ,f
21、loat B, float C)a=A;b=B;c=C;long Answer :Callresult (float x)if (b*b-4*a*c)>0)x0=(-b+sqrt(b*b-4*a*c)/(2*a);x1=(-b-sqrt(b*b-4*a*c)/(2*a);cout <<"x1="<<x0<<","<<"x2="<<x1<<endl;return 2;else if (b*b-4*a*c=0)x0=(-b)/(2*a);cout <<
22、;"x1="<<x0<<endl;return 1;else if (b*b-4*a*c<0)return 0;return 0;void TestD_11()int m;dofloat a,b,c,x2;cout <<"解一元二次方程:a*x*x+b*x+c=0"<<endl;cout <<"请输入a,b,c"<<endl;cin >>a>>b>>c;Answer answer (a,b,c); cout <<"方程实根的个数:"<<answer.Callresult(x)<<endl;cout <<"请输入一个整数,若为整数1继续,否则终止运行"<<endl;cin >>m;while(m=1);运行结果:实习感想在长约一周的实习之中,遇到了很多问题,但最终都能在老师同学的帮助下得到解决,从中找出了曾今常犯的错误,学到了很多有帮助的编程方法,收获了很多!在最开始有很多都不会,在实践中才慢慢学会。最开始的基本算式都会出
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 山东省菏泽一中八一路校区2024-2025学年全国高三冲刺考(四)全国I卷物理试题含解析
- 2024-2025学年四川省眉山市车城中学第二学期高三期末统一考试英语试题含解析
- 秦皇岛职业技术学院《铁路站场及枢纽》2023-2024学年第二学期期末试卷
- 广州国道施工方案
- 马路砖施工方案
- 关于婴儿背带包的调查问卷
- 2025年食品行业资讯:全国居民消费价格指数同比下降0.7%
- 【2025年汽车产业布局成效初显:12月汽车产销同比增长超13%】
- 湖南省长沙市雨花区2024-2025学年高一(上)期末语文试卷
- 北京市西城区2024-2025学年高一(上)期末生物试卷(含解析)
- 人教版(2024)七下 第二单元第1课《精彩瞬间》课件-七年级美术下册(人教版)
- 2024中华人民共和国农村集体经济组织法详细解读课件
- 六分钟步行试验记录表
- 2022年《经济金融基础知识》近年真题考试题库汇总(含答案)
- 《二手车鉴定评估与贸易》全套教学课件
- 音乐简谱基础知识
- 护士电子化注册信息系统医疗机构版医疗机构快速阅读手册
- 【525心理辅导系列】有你的世界才精彩课件-心理健康
- 2021年新湘教版九年级数学中考总复习教案
- 煤矿竣工验收竣工报告
- 北京华恒智信人力资源顾问有限公司ppt课件
评论
0/150
提交评论