ImageVerifierCode 换一换
格式:DOCX , 页数:36 ,大小:913.93KB ,
资源ID:718606      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/718606.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C程序设计课程实践报告.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C程序设计课程实践报告.docx

1、C程序设计课程实践报告中南大学化学化工学院C+语言程序设计实验报告专业班级:姓名: 学号: 同组人员:指导教师:完成日期:第一题(必做)31.题目32.系统功能模块结构图43.数据结构设计及说明(程序)54.程序结构(流程图)105.各模块的功能156.运行结果16第二题(必做)211.题目212.数据结构设计及说明(程序)213.程序结构(流程图)244.运行结果25第三题(选做)26第四题(选做)261.题目262.系统功能模块结构图273.数据结构设计及说明(程序)274.程序结构(流程图)305.各模块的功能316.运行结果31总结及参考文献35第一题一、题目:使用菜单选择趣味程序 菜

2、单是应用程序的界面,控制语句用来改变程序执行的顺序,是实现结构化设计的基础。 本题的任务是设计一个比较实用的菜单,通过菜单选择不同的功能。 本题的设计分两步:(1)先设计一个含有多个菜单项的菜单演示程序;A、菜单内容:程序运行后,给出六个菜单项的内容和输出提示1、FindNum2、FindRoot3、Detective4、Bear5、Curve6、YearDay7、Goodbye!B、设计要求:使用数字1-7来选择菜单项,其他输入则不起作用。(2)再为上述菜单项配上相应的功能,即以上述菜单的设计为基础,增加菜单项的处理功能。菜单设计要求(这是6道编程题,要求在运行菜单时,能给出每个程序的运行结

3、果):1、FindNum有0、1、2、3、4、5、6、7、8、9十个数,按要求填入下列算式中,要求每个数只使用一次,首位数不能为零,输出时显示所有可能的组合并统计个数。 + = 2、FindRoot求方程在区间-8,8内的全部实根。3、Detective这是一个侦探题,有一辆汽车撞人后跑了,4个目击证人提供如下线索:牌照三、四位相同;牌号为31xxxx;牌照五、六位相同,三到六位是一个整数的平方。4、Bear有一只狗熊到玉米地里吃玉米,一边掰一边吃。第一天吃了一半,又拿走一个回去喂小熊。第二天又去吃了剩下的一半,走是仍带走一个回去喂小熊。以后每天都吃前天剩下的一半,拿走一个。到第十天,地里只剩

4、下一个玉米。求地里一共有多少玉米。5、Curve(可选作)绘制一条滴定曲线(已知是0.1000mol/L的氢氧化钠滴定20.00mL同浓度的盐酸)。曲线如图所示。此题可以根据所给曲线大致形状,运用常规的编制图形的方法来绘制。也可根据下面所列的方程式来绘出滴定曲线。其中H为氢离子浓度,cHCl为盐酸浓度,Kt=1014.00,a为滴定分数(令a在02范围内取值,步长为0.001),Vb为氢氧化钠加入到盐酸中的瞬时浓度。6、YearDay已知2000年1月1日为星期六,请输入任一年的年份后,打印该年的年历。7、Goodbye!这里除了输出一个信息外,还必须结束程序运行。二、系统功能模块结构图:三、

5、数据结构设计及说明(程序):#include#include using namespace std;#define YES 1 /* 定义符号常数“是” */#define NO 0 /* 定义符号常数“否” */void FindNum() /函数1intA,B,C,N,M,O,a,b,c,d,e,f,g,h,i,j,mm=0;cout符合条件的组合是:; for(A=1000;A=9999;A+) for(B=100;B=999;B+) for(C=100;C=999;C+) /多层循环对可能的数字进行组合 N=A;a=N/1000;N=N%1000; b=N/100;N=N%100;

6、c=N/10;N=N%10; d=N; M=B;O=C; e=M/100;M=M%100; f=M/10;M=M%10; g=M; h=O/100;O=O%100;i=O/10;O=O%10; j=O; /提取出各位数字 if(a!=b)&(a!=c)&(a!=d)&(a!=e)&(a!=f)&(a!=g)&(a!=h)&(a!=i)&(a!=j)&(b!=c)&(b!=d)&(b!=e)&(b!=f)&(b!=g)&(b!=h)&(b!=i)&(b!=j)&(c!=d)&(c!=e)&(c!=f)&(c!=g)&(c!=h)&(c!=i)&(c!=j)& (d!=e)&(d!=f)&(d!=

7、g)&(d!=h)&(d!=i)&(d!=j)&(e!=f)&(e!=g)&(e!=h)&(e!=i)&(e!=j)&(f!=g)&(f!=h)&(f!=i)&(f!=j)&(g!=h)&(g!=i)&(g!=j)&(h!=i)&(h!=j)&(i!=j)&(A=B+C)/判断各位数字不相等,并且符合题意等式要求 cout B+C=Aendl;mm+; cout共有组合个数:mm;/输出组合的个数voidFindRoot()float i,j,k,s1,s2,s;for(i=-8;i=7;i+) j=i+1; s1=i*i*i-3*i-1; s2=j*j*j-3*j-1; if(s1*s20)

8、 do k=(i+j)/2; s=k*k*k-3*k-1; if(s1*s=1e-6);/利用数学函数对输出的解进行精度控制cout方程的实根为:kendl; void Detective() inta,A,i,j;for(i=0;i=9;i+) for(j=0;j=9;j+)/车牌后四位的排列组合 for(a=0;a100;a+)/对所有可能的数字进行平方,为之后的比较做准备 A=1000*i+100*i+10*j+j;/算出车牌后四位数的数学值if(a*a=A) cout车牌号为31iijjendl; void Bear()int day=10, x1, x2=1;cout有一只狗熊到玉米

9、地里吃玉米,一边掰一边吃.endl; cout第一天吃了一半,又拿走一个回去喂小熊。endl; cout第二天又去吃了剩下的一半,走是仍带走一个回去喂小熊。endl; cout以后每天都吃前天剩下的一半,拿走一个。到第十天,地里只剩下一个玉米。求地里一共有多少玉米。0)/循环直到时间的始端0 x1=(x2+1)*2;/前一天的数量是后一天加一的两倍x2=x1; day-;/天数递减,倒退 cout玉米田里共有玉米x1个endl;intisleap(int year)/* 函数isleap(): 判断某年是否闰年 */int leap = NO;if(year%4=0 & year%100!=0

10、 )| year%400=0)leap = YES;return leap;/* 函数week_of_newyears_day(): 求元旦是星期几 */intweek_of_newyears_day(int year)int n = year-1900; n = n+(n-1)/4+1; n = n%7;return n;intYearDay()int year, month, day, weekday, len_of_month, i; coutyear; /*因为你的要求是已知2000年1月1日是星期六,所以这里不用week_of_newyears_day去求星期六了*/ weekday = week_of_newyears_day(year); /* 求元旦是星期几 */coutyear年endl; /* 打印年份 */ for(month=1; month=12;month=month+1) /* 打印12个月的月历 */ coutmonth月endl;cout-endl;cout星期日星期一星期二星期三星期四星期五星期六endl;cout-endl; for(i=0;iweekday;i=i+1) /* 找当月1日的打印位置 */cout ;if(month=4 | month= 6

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1