实验参考代码1——6
- 格式:doc
- 大小:88.00 KB
- 文档页数:9
实训一:设计系统主页1. 题目设计系统主页。
2. 目的(1)熟悉Web前端项目开发环境。
(2)掌握如何建立Web前端项目,学会规划项目结构。
(3)掌握动态生成页面内容的方法。
(4)理解如何使用Flash显示图片新闻。
(5)会在应用系统中编写播放动态新闻的程序。
3. 内容建立项目结构,并设计一个系统的主页,在主页中嵌入Flash播放新闻。
4. 要求(1)建立Web前端项目,规划好程序结构。
(2)使用document.write()方法生成播放Flash的JavaScript代码。
(3)可以方便地增减播放的图片新闻数量。
(4)单击图片时能够打开对应的新闻页面。
实验百度7JavaScript程序设计1一、实验目的:1.掌握程序语言的基本结构;2.深刻理解有关函数中变量的作用域和各类控制语句的功能;二、实验要求:理解Javascript语法知识;三、实验内容:1.先练习课堂上讲的例子。
2、控制语句,用2种方式实现(if语句、switch语句);根据时间段的不同,在网页中显示不同的问候语,若小时数在12点以前,则输出“早上好!”的问候语,颜色为绿色;若在12点至18点,则输出“下午好!”颜色为黄色;18点以后输出“晚上好!”颜色为黑色。
[参考代码]方法1:<script language="javascript">var curday=new Date();hours=curday.getHours(); document.write(":"+hours+"点,");if(hours<=12){document.write("<font color='00ff00</font>");}else if(hours<=18){document.write("<font color='ffff00'>!</font>");}else{document.write("<font color='000000'>!</font>");}</script>function MyObject(name,size){=name;this.size=size;}MyObject.prototype.tellsize=function(){alert("size of"++"is"+this.size);}var myObject=new MyObject("tiddles","7.5meters");myObject.tellsize();function Vehicle(){}Vehicle.prototype.wheelCount=4;Vehicle.prototype.curbWeightInPounds=4000;Vehicle.prototype.refuel=function(){return"Refueling Vehicle with regular87octane gasoline";}Vehicle.prototype.mainTasks=function(){return"Driving to work,school,and the grocery store";}function SportsCar(){}SportsCar.prototype=new Vehicle();SportsCar.prototype.curbWeightInPounds=3000;SportsCar.prototype.refuel=function(){return"Refueling SportsCar with premium94octane gasoline"; }SportsCar.prototype.mainTasks=function(){return"Spirited driving,looking good,driving to the beach";}function discribe(vehicle){var str="";str="\n\nNumber of wheels:"+vehicle.wheelCount;str+="Crub Weight:"+vehicle.curbWeightInPounds;str+="\n\n Refuel Method:"+vehicle.refuel();str+="\n\n Main Tasks:"+vehicle.mainTasks(); document.getElementById("Info").innerText+=str;}function createVehicle(){var vehicle=new Vehicle();discribe(vehicle);}function createSportsCar(){var sportCar=new SportsCar();discribe(sportCar);}。
目录实验一WINDOWS进程初识 (2)实验二进程管理 (6)实验三进程同步的经典算法 (10)实验四存储管理 (14)试验五文件系统试验 (18)实验有关(参考)代码实验一WINDOWS进程初识1、实验目的(1)学会使用VC编写基本的Win32 Consol Application(控制台应用程序)。
(2)掌握WINDOWS API的使用方法。
(3)编写测试程序,理解用户态运行和核心态运行。
2、程序清单清单1-1 一个简单的Windows控制台应用程序// hello项目# include <iostream>void main(){std::cout << “Hello, Win32 Consol Application” << std :: endl ;}清单1-2 核心态运行和用户态运行时间比计算// proclist项目# include <windows.h># include <tlhelp32.h># include <iostream.h>// 当在用户模式机内核模式下都提供所耗时间时,在内核模式下进行所耗时间的64位计算的帮助方法DWORD GetKernelModePercentage(const FILETIME& ftKernel,const FILETIME& ftUser){// 将FILETIME结构转化为64位整数ULONGLONG qwKernel=(((ULONGLONG)ftKernel.dwHighDateTime)<<32)+ftKernel.dwLowDateTime;ULONGLONG qwUser=(((ULONGLONG)ftUser.dwHighDateTime)<<32)+ftUser.dwLowDateTime;// 将消耗时间相加,然后计算消耗在内核模式下的时间百分比ULONGLONG qwTotal=qwKernel+qwUser;DWORD dwPct=(DWORD)(((ULONGLONG)100*qwKernel)/qwTotal);return(dwPct);}// 以下是将当前运行过程名和消耗在内核模式下的时间百分数都显示出来的应用程序void main(int argc,char *argv[]){if(argc<2){cout<<"请给出你要查询的程序名"<<endl;exit(0);}// 对当前系统中运行的过程拍取“快照”HANDLE hSnapshot=::CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,// 提取当前过程0);// 如果是当前过程,就将其忽略// 初始化过程入口PROCESSENTRY32 pe;::ZeroMemory(&pe,sizeof(pe));pe.dwSize=sizeof(pe);BOOL bMore=::Process32First(hSnapshot,&pe);BOOL found = FALSE;while(bMore){// 打开用于读取的过程if(!strcmp(pe.szExeFile,argv[1])){found = TRUE;HANDLE hProcess=::OpenProcess(PROCESS_QUERY_INFORMA TION,// 指明要得到信息FALSE,// 不必继承这一句柄pe.th32ProcessID);// 要打开的进程if (hProcess!=NULL){// 找出进程的时间FILETIME ftCreation,ftKernelMode,ftUserMode,ftExit;::GetProcessTimes(hProcess,// 所感兴趣的进程&ftCreation,// 进程的启动时间&ftExit,// 结束时间(如果有的话)&ftKernelMode,// 在内核模式下消耗的时间&ftUserMode);// 在用户模式下消耗的时间// 计算内核模式消耗的时间百分比DWORD dwPctKernel=::GetKernelModePercentage(ftKernelMode,// 在内核模式上消耗的时间ftUserMode);// 在用户模式下消耗的时间// 向用户显示进程的某些信息cout<< "process ID: " << pe.th32ProcessID<< ",EXE file:" << pe.szExeFile<< ",%d in Kernel mode: " << dwPctKernel << endl;// 消除句柄::CloseHandle(hProcess);}}// 转向下一个进程bMore=::Process32Next(hSnapshot,&pe);}if(found==FALSE){cout<<"当前系统没有这个可执行程序正在运行"<<endl;exit(0);}}清单1-3 核心态运行和用户态运行时间测试程序#include <stdio.h>main(){int i,j;while(1){for(i=0;i<1000;i++);for(j=1;j<1000;j++) printf(“enter kernel mode running.”);}}实验二进程管理1、实验目的1) 通过创建进程、观察正在运行的进程和终止进程的程序设计和调试操作,进一步熟悉操作系统的进程概念,理解Windows进程的“一生”。
面向对象程序设计实验指导书(适用:电子信息11级)彭召意陶立新编写计算机与通信学院2014.9目录实验一 C++基础的应用 (1)实验二类和对象的应用 (3)实验三类的构造函数、析构函数的应用 (4)实验四友员和运算符重载 (5)实验五类的继承与派生 (6)实验六类的多态性与虚函数 (7)附录:各实验的程序代码 (8)实验一 C++基础的应用(实验课时:2 实验性质:设计)实验名称: C++基础的应用实验目的: (1)进一步学习VC++6.0开发环境及程序调试方法。
(2)练习C++函数的定义及使用;(3)练习C++数组的定义及使用;(4)练习C++指针的定义及使用;(5)练习C++结构体的定义及使用;(6)练习多文件的程序的编译和运行方法;实验设备:(1)硬件:个人微机(配置不低于:CPU为P4,主频1.6G,内存256MB,硬盘40GB);(2)软件:操作系统为WindowsXP(或2000、server2003等),工具软件为Visual C++6.0。
实验内容: (1)熟悉Visual C++6.0编译系统的常用功能,特别是debug调试功能;(2)编程1:编写一个程序c1.cpp,用来求2个或3个整数的最大数。
要求:用重载函数的方法来求最大数;函数原型:int max( int a, int b) 和int max( int a, int b,int c)。
(3)编程2:编写一个程序c2.cpp,求:a!+ b! + c!的值。
要求:使用递归函数。
主程序和函数分开到两个源程序文件中,分别进行编译后,再运行;(4)编程3:有一个3*4的矩阵,要求编程求出其中值最大的那个元素的值,以及其所在的行号和列号;(5)编程4:建立一个动态链表并进行输出和删除管理。
链表的每个节点为学生信息,包括:学号,姓名,性别,下一学生信息的指针。
程序的工作:(a)建立三个学生信息的节点,然后顺序输出该三个学生信息;(b)删除中间的节点,再顺序输出学生信息。
I C S11.100C50中华人民共和国卫生行业标准W S/T404.6 2015临床常用生化检验项目参考区间第6部分:血清总钙㊁无机磷㊁镁㊁铁R e f e r e n c e i n t e r v a l s f o r c o m m o n c l i n i c a l b i o c h e m i s t r y t e s t sP a r t6:S e r u mc a l c i u m,p h o s p h o r u s,m a g n e s i u m,i r o n2015-04-21发布2015-10-01实施前言W S/T404‘临床常用生化检验项目参考区间“分为8个部分:第1部分:血清丙氨酸氨基转移酶㊁天门冬氨酸氨基转移酶㊁碱性磷酸酶和γ-谷氨酰基转移酶;第2部分:血清总蛋白㊁白蛋白;第3部分:血清钾㊁钠㊁氯;第4部分:血清总胆红素㊁直接胆红素;第5部分:血清尿素㊁肌酐;第6部分:血清总钙㊁无机磷㊁镁㊁铁;第7部分:血清乳酸脱氢酶㊁肌酸激酶;第8部分:血清淀粉酶㊂本部分为W S/T404的第6部分㊂本部分按照G B/T1.1 2009给出的规则起草㊂本部分主要起草单位:中国医科大学附属第一医院㊁中国人民解放军第四军医大学附属第一医院㊁复旦大学附属中山医院㊁北京大学第三医院㊁四川大学华西医院㊁广东省中医院㊁北京医院㊂本部分起草人:尚红㊁郝晓柯㊁潘柏申㊁张捷㊁王兰兰㊁黄宪章㊁陈文祥㊁张传宝㊁申子瑜㊁穆润清㊁赵敏㊂临床常用生化检验项目参考区间第6部分:血清总钙㊁无机磷㊁镁㊁铁1 范围W S /T404的本部分规定了中国成年人群血清总钙㊁无机磷㊁镁㊁铁的参考区间及其应用㊂本部分适用于医疗卫生机构实验室血清总钙㊁无机磷㊁镁㊁铁检验结果的报告和解释,相关体外诊断产品生产厂商也可参照使用㊂2 规范性引用文件下列文件对于本文件的应用是必不可少的㊂凡是注日期的引用文件,仅注日期的版本适用于本文件㊂凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件㊂W S /T402 临床实验室检验项目参考区间的制定3 术语和定义W S /T402界定的术语和定义适用于本文件㊂4 参考区间建立4.1 中国成年人群(20~79岁)血清总钙㊁无机磷㊁镁㊁铁参考区间见表1㊂表1 中国成年人群血清总钙㊁无机磷㊁镁㊁铁参考区间项目单位分组参考区间血清总钙(C a )mm o l /L 男/女2.11~2.52血清无机磷(I P )mm o l /L 男/女0.85~1.51血清镁(M g)mm o l /L 男/女0.75~1.02血清铁(I r o n)μm o l /L 男10.6~36.7女7.8~32.24.2 中国成年人群血清总钙㊁无机磷㊁镁㊁铁参考区间建立过程的相关信息参见附录A ㊂5 参考区间应用5.1 一般原则5.1.1 临床实验室应首先考虑引用本文件的参考区间㊂注1:参考区间建立研究工作量和成本巨大,临床实验室引用参考区间比自己建立参考区间更为现实㊁可行㊂注2:本参考区间基于中国成年人群多中心研究结果,研究中的检验结果可溯源至国际公认参考方法或标准物质,参见附录W S/T404.6 20155.1.2使用本文件的参考区间前应进行必要的验证或评估㊂注1:外部参考区间在实验室的适用性主要取决于实验室与参考区间建立时检验结果的可比性和人群的适用性㊂注2:检验结果只有存在恒定的系统偏倚(检验结果正确度)才影响参考区间的适用性,过大的实验室内变异是实验室分析质量问题,不是参考区间适用性问题㊂注3:本文件的参考区间基于血清的检测结果建立,若临床实验室使用的标本类型为血浆,应进行适当的评估以决定是否采用本参考区间㊂5.2参考区间评估㊁验证和使用5.2.1按W S/T402的有关规定进行参考区间评估和验证㊂5.2.2如实验室确认与参考区间建立时的检验结果可比且人群适用,则可直接引用本文件的参考区间,若不确定或基于实验室管理体系的要求需对引用的参考区间进行验证,可按下列步骤进行:a)筛选合格参考个体不少于20名,筛选标准参见A.2.2;b)按本实验室操作程序采集㊁处理㊁分析样品;c)按适当方法检查并剔除离群值(若有,则另选参考个体补足);注:离群值检验采用D i x o n方法:首先将检测结果按照大小排序并计算极差R,然后分别计算最大和最小值与其相邻数值之差D;若D/Rȡ1/3,则将最大值或最小值视为离群值予以剔除;将余下数据重复前述步骤进行离群值检验,直至剔除所有离群值㊂d)如选择20个合格的参考个体,将20个检验结果与参考区间比较,若超出参考区间的数据不超过2个,则通过验证;若超过2个,则另选20名合格参考个体重新按照上述判断标准进行验证㊂如参考个体多于20个,超出参考区间的数据不超过10%则通过验证;若超过10%的数据超出参考区间,则另选至少20名合格参考个体,重新按照上述判断标准进行验证㊂验证结果若符合要求,可直接使用参考区间,否则应查找原因㊂5.3参考区间未通过验证时的处理程序5.3.1对未通过验证的情况,应首先评价分析质量尤其是正确度,若证实是检测系统导致的分析质量问题,应改进或更换分析系统㊂分析质量评价可采用(但不限于)下列方式:a)分析可互通有证标准物质或其他适宜参考物质;b)参加适宜正确度验证计划或标准化计划;c)与性能可靠的其他系统或方法进行比较㊂5.3.2若证明是人群原因(如民族㊁高海拔地区㊁特殊生活习惯等因素)未通过验证,则应按W S/T402的要求建立或引用适宜参考区间㊂W S/T404.6 2015附录A(资料性附录)参考区间建立过程的相关信息A.1参考区间建立的步骤本文件参考区间按W S/T402的要求采用多中心的研究方式建立,主要包括以下步骤:a)选择参考个体,组成参考样本组;b)采集处理血液样品,获得血清样品;c)检测血清样品,获得参考值;d)统计处理参考值,建立参考区间㊂A.2参考个体选择A.2.1参考样本组的选择设计总体参考人群为我国成年健康人群,参考样本组选自东北㊁华北㊁西北㊁华东㊁华南和西南6地区城乡居民,年龄范围为20~79岁,六地区最终入选的参考个体共计4397人,其中男性为1878人,女性为2519人㊂A.2.2参考个体的选择各中心分别在所在地区募集足够的可能参考个体,征得知情同意,进行参考个体的筛选,组成参考样本组㊂通过问卷调查㊁体格检查㊁实验室检查筛选参考个体,满足以下要求:a)问卷调查㊁体格检查:1)自觉健康;2)无下列疾病:急慢性感染(急性上呼吸道感染㊁肺炎㊁肺结核等)㊁消化系统疾病(肝硬化㊁肝炎㊁脂肪性肝病㊁胆石病㊁胆囊炎㊁慢性腹泻㊁炎症性肠病等)㊁肾脏疾病(慢性肾脏病㊁急性肾损伤等)㊁代谢和营养疾病(糖尿病㊁代谢综合征㊁血脂异常和脂蛋白异常血症㊁高尿酸血症与痛风等)㊁风湿性疾病(类风湿性关节炎㊁系统性红斑狼疮等)㊁甲状腺疾病(甲状腺功能亢进症㊁甲状腺功能减退症等)㊁血液系统疾病(贫血㊁白血病等)㊁动脉粥样硬化和血管疾病㊁心脏病㊁肌病㊁恶性肿瘤㊁烧伤和肌肉损伤㊁肥胖或消瘦[B M I(体重指数)ȡ28k g/m2或<18.5k g/m2]㊁高血压[收缩压ȡ140mmH g和(或)舒张压ȡ90mmH g];3)6个月内未进行手术,4个月内未献血㊁输血或大量失血,2周内未服用药物;4)无营养不良㊁素食㊁酗酒(长期饮酒或2周内大量饮酒)㊁嗜烟(吸烟量>20支/d);5)近期无剧烈运动或重体力劳动;6)女性未处于妊娠或哺乳期㊂b)通过实验室检查排除:1)丙氨酸氨基转移酶>80U/L;2)甘油三酯ȡ2.26mm o l/L;总胆固醇W S/T404.6 20154)空腹血糖ȡ7.0mm o l/L;5)血红蛋白:男性<120g/L;女性<110g/L;6) H B s A g阳性㊁抗-H C V阳性㊁抗-H I V阳性㊂A.3血液样品采集与处理血液样品采集与处理原则按W S/T225 2002有关要求进行,具体要求如下:a)参考个体准备:采血前3d保持正常生活习惯,不做剧烈运动和重体力劳动㊂采血前1d晚餐后至第二天上午采血前禁食,禁食时间8h~14h;b)采血:受检者取坐位,使用血清分离胶管,采用真空采血方式,自肘前静脉采血;c)血液样品处理:样品在采集后2h内及时分离血清,检查并剔除溶血㊁黄疸或乳糜样品,血清分离后2h内进行分析㊂A.4血清样品分析A.4.1分析系统使用目前我国临床实验室常用的多种分析系统㊂注:本参考区间建立所使用的分析系统及其检测结果的计量学溯源参见附录B㊂各分析系统检测结果的正确度验证见A.4.2㊂血清无机磷由于没有人血清基质的有证标准物质进行验证和评估,本文件的无机磷参考区间是基于多个分析系统检测数据的统计结果和综合临床意见设定㊂A.4.2分析系统性能评估分析系统应于参考个体血清样品分析前进行分析性能评估㊂按仪器和试剂说明书规定的操作程序运行分析系统㊂精密度评估:分析两个水平质控物,每日测定1批,重复测定4次,测定5d;正确度验证:分析美国国家标准与技术研究院(N I S T)的标准物质S R M956c和中国国家标准物质G B W09152对钙㊁镁㊁铁进行正确度验证㊂精密度和正确度满足W S/T403的有关要求㊂A.4.3血清样品分析及其质量控制分析性能符合要求后进行血清样品分析,每份血清样品分析一次㊂精密度控制采用两个水平质控物质,每独立分析批前后进行质控物质分析;每月分析有证标准物质S R M956c进行正确度控制㊂A.5参考值处理与参考区间建立A.5.1离群值检查按照D i x o n方法检查并剔除各组离群值㊂A.5.2分组判断按照n e s t e dA N O V A方法对性别㊁年龄㊁地区各组参考值进行组-组检验,判断需否分组,将不需分组的参考值合并,确定实际参考样本组㊂A.5.3参考限和参考区间建立采用中间95%区间做参考区间㊂用非参数方法分别计算各实际参考样本组参考值的2.5百分位数和百分位数作为参考下限和参考上限㊂根据临床意见对参考限进行适当取整形成参考区间㊂W S/T404.6 2015附录B(资料性附录)血清总钙㊁无机磷㊁镁㊁铁检测方法和检测结果的计量学溯源血清总钙㊁无机磷㊁镁㊁铁检测方法和检测结果的计量学溯源见表B.1㊂表B.1血清总钙㊁无机磷㊁镁㊁铁检测方法和检测结果的计量学溯源项目测定方法计量学溯源性I S TS R M956c血清总钙(C a)邻甲酚酞络合酮比色法/间接离子选择电极法换算N血清无机磷(I P)磷钼酸紫外法血清镁(M g)二甲苯胺蓝法/c a l m a g i t e比色法原子吸收光谱法血清铁(I r o n)亚铁嗪比色法N I S TS R M937W S/T404.6 2015参考文献[1] W S/T225 2002临床化学检验血液标本的收集与处理[2] W S/T403 2012临床生物化学检验常规项目分析质量指标[3]王吉耀.内科学.2版.北京:人民卫生出版社,2010[4] D o n a l dS.Y o u n g.分析前因素对临床检验结果影响.3版.李艳,等,译.北京:人民军医出版社,2009[5] C l i n i c a l a n dL a b o r a t o r y S t a n d a r d s I n s t i t u t e(C L S I).D e f i n i n g,e s t a b l i s h i n g,a n d v e r i f y i n g r e f-e r e n c e i n t e r v a l s i nt h ec l i n i c a l l a b o r a t o r y:A p p r o v e d G u i d e l i n e T h i r dE d i t i o n.C L S Id o c u m e n tC28-A3c.C L S I,W a y n e,P A,U S A,2010[6]I c h i h a r a.A na p p r a i s a l o f s t a t i s t i c a l p r o c e d u r e su s e d i nd e r i v a t i o no f r e f e r e n c e i n t e r v a l s.C l i nC h e m L a b M e d,2010,48:1537-1551。
根据GB3469-83《文献类型与文献载体代码》规定,以单字母标识:M——专著(含古籍中的史、志论著)C——论文集N——报纸文章J——期刊文章D——学位论文R——研究报告S——标准P——专利A——专著、论文集中的析出文献Z——其他未说明的文献类型电子文献类型以双字母作为标识:DB——数据库CP——计算机程序EB——电子公告电子文献载体类型用双字母标识①磁带〔MT〕②磁盘〔DK〕③光盘〔CD〕④联机网络〔OL〕非纸张型载体电子文献,在参考文献标识中同时标明其载体类型:DB/OL——联机网上的数据库DB/MT——磁带数据库M/CD——光盘图书CP/DK——磁盘软件J/OL——网上期刊EB/OL——网上电子公告一、参考文献著录格式1 、期刊作者.题名〔J〕.刊名,出版年,卷(期)∶起止页码2、专著作者.书名〔M〕.版本(第一版不著录).出版地∶出版者,出版年∶起止页码3、论文集作者.题名〔C〕.编者.论文集名,出版地∶出版者,出版年∶起止页码4 、学位论文作者.题名〔D〕.保存地点.保存单位.年份5 、专利文献题名〔P〕.国别.专利文献种类.专利号.出版日期6、标准编号.标准名称〔S〕7、报纸作者.题名〔N〕.报纸名.出版日期(版次)8 、报告作者.题名〔R〕.保存地点.年份9 、电子文献作者.题名〔电子文献及载体类型标识〕.文献出处,日期二、文献类型及其标识1、根据GB3469 规定,各类常用文献标识如下:①期刊〔J〕②专著〔M〕③论文集〔C〕④学位论文〔D〕⑤专利〔P〕⑥标准〔S〕⑦报纸〔N〕⑧技术报告〔R〕2、电子文献载体类型用双字母标识,具体如下:①磁带〔MT〕②磁盘〔DK〕③光盘〔CD〕④联机网络〔OL〕3、电子文献载体类型的参考文献类型标识方法为:〔文献类型标识/载体类型标识〕。
例如:①联机网上数据库〔DB/OL〕②磁带数据库〔DB/MT〕③光盘图书〔M/CD〕④磁盘软件〔CP/DK〕⑤网上期刊〔J/OL〕⑥网上电子公告〔EB/OL〕三、举例1、期刊论文〔1〕周庆荣,张泽廷,朱美文等.固体溶质在含夹带剂超临界流体中的溶解度〔J〕.化工学报,1995(3):317—323〔2〕Dobbs J M, Wong J M. Modification of supercritical fluid phasebehavior using polor coselvent〔J〕. Ind Eng Chem Res, 1987,26:56〔3〕刘仲能,金文清.合成医药中间体4-甲基咪唑的研究〔J〕.精细化工,2002(2):103-105〔4〕Mesquita A C, Mori M N, Vieira J M, et al .Vinyl acetate polymerization by ionizing radiation〔J〕.Radiation Physics and Chemistry,2002, 63:4652、专著〔1〕蒋挺大.亮聚糖〔M〕.北京:化学工业出版社,2001.127〔2〕Kortun G.Reflectance Spectroscopy〔M〕.New York: Spring-Verlag,19693、论文集〔1〕郭宏,王熊,刘宗林.膜分离技术在大豆分离蛋白生产中综合利用的研究〔C〕.//余立新.第三届全国膜和膜过程学术报告会议论文集.北京:高教出版社,1999.421-425〔2〕Eiben A E, vander Hauw J K.Solving 3-SAT with adaptive genetic algorithms 〔C〕.//Proc 4th IEEE Conf Evolutionary Computation.Piscataway: IEEE Press, 1997.81-864、学位论文〔1〕陈金梅.氟石膏生产早强快硬水泥的试验研究(D).西安:西安建筑科学大学,2000〔2 〕Chrisstoffels L A J .Carrier-facilitated transport as a mechanistic tool in supramolecular chemistry〔D〕.The Netherland:Twente University.19885、专利文献〔1〕Hasegawa, Toshiyuki, Yoshida,et al.Paper Coating composition〔P〕.EP 0634524.1995-01-18〔2 〕仲前昌夫,佐藤寿昭.感光性树脂〔P 〕.日本,特开平09-26667.1997-01-28〔3〕Yamaguchi K, Hayashi A.Plant growth promotor and productionthereof 〔P〕.Jpn, Jp1290606.1999-11-22〔4〕厦门大学.二烷氨基乙醇羧酸酯的制备方法〔P〕.中国发明专利,CN1073429.1993-06-236、技术标准文献〔1〕ISO 1210-1982,塑料——小试样接触火焰法测定塑料燃烧性〔S〕〔2〕GB 2410-80,透明塑料透光率及雾度实验方法〔S〕7、报纸〔1〕陈志平.减灾设计研究新动态〔N〕.科技日报,1997-12-12(5)8、报告〔1〕中国机械工程学会.密相气力输送技术〔R〕.北京:19969、电子文献〔1〕万锦柔.中国大学学报论文文摘(1983-1993)〔DB/CD〕.北京:中国百科全书出版社,1996------------------------------------------------------------(1) 参考文献的著录应执行GB7714-87《文后参考文献著录规则》及《中国学术期刊(光盘版)检索与评价数据规范》规定,采用顺序编码制,在引文中引用文献出现的先后以阿拉伯数字连续编码,序号置于方括号内。
MSP-EXP430Launchpad 实验指南参考代码附录本附录为MSP-EXP430Launchpad实验指南中各章节涉及示例程序的完整参考代码。
目录第三章 (2)3.5 (2)3.6 (5)第五章 (11)5.1.1 (11)5.1.2 (13)5.1.3 (14)5.1.4 (17)5.1.5 (18)5.1.6 (21)5.2.1 (22)5.2.2 (22)5.2.3 (25)5.2.4 (27)5.3.1 (29)5.3.2 (30)5.4.1 (30)5.4.2 (31)5.4.3 (34)5.5.1 (38)5.5.2 (42)5.5.3 (53)5.5.4 (53)5.5.5 (54)第六章 (58)6.1.3 (58)6.1.4 (59)6.2.3 (62)6.3.3 光照度检测模块程序设计 (65)6.4.3 (67)6.5.3 (73)6.6.3 (75)6.6.4 (77)第三章3.5Flash使用的代码样例#include "msp430g2553.h"/****************************************************g2553有4个数据段,每个数据段有64bytes,共256bytesD:0x1000 -- 0x003FC:0x1040 -- 0x107FB:0x1080 -- 0x10BFA:0x10C0 -- 0x10FF****************************************************/#define uint unsigned int#define uchar unsigned char#define SegA 0x010C0#define SegB 0x01080#define SegC 0x01040#define SegD 0x01000#define SegSize 64/********************Flash初始化********************/void FlashInit(){FCTL2=FWKEY+FSSEL_2+FN1; //选择SMLCK作为时钟源,二分频}/********************Flash检测忙********************/void FlashCheckBusy(){while(BUSY==(FCTL3&BUSY)); //检测是否忙}/********************Flash段擦除*******************/void FlashErase(int SegX){_DINT(); //关闭总中断FlashCheckBusy(); //检测Flash是否处于忙状态FCTL3=FWKEY; //lock=0开锁FCTL1=FWKEY+ERASE; //使能段擦除*((int *)SegX)=0x00; //段擦除--空写FlashCheckBusy(); //检测Flash是否处于忙状态FCTL3=FWKEY|LOCK; //上锁return;}/********************Flash写字节********************/ void FlashWriteChar(uint addr,char wdata){_DINT(); //关闭总中断FlashCheckBusy(); //检测Flash是否处于忙状态FCTL3=FWKEY; //lock=0开锁FCTL1=FWKEY+WRT; //写使能*((uchar *)addr)=wdata; //将wdata存入addr变量地址中 FCTL1=FWKEY; //写关闭FCTL3=FWKEY+LOCK; //上锁return;}/********************Flash读字节********************/ char FlashReadChar(uint addr){char rdata;rdata=*(char*)addr; //读取addr所指地址的值return rdata;}/********************Flash写字********************/void FlashWriteWord(uint addr,uint wdata){_DINT(); //关闭总中断FlashCheckBusy(); //检测忙,若忙,则等待FCTL3=FWKEY; //lock=0开锁FCTL1=FWKEY+WRT; //写使能*((uint *)addr)=wdata; //向地址addr处写入wdataFCTL1=FWKEY; //写关闭FCTL3=FWKEY+LOCK; //上锁return;}/********************Flash读字********************/uint FlashReadWord(uint addr){uint rdata;rdata=*(uint *)addr; //读取变量addr地址的值return rdata;}/********************Flash修改字节********************/void FlashModifyChar(uint SegX,char AddrNum,char wdata){char i,TempArry[SegSize];for(i=0;i<SegSize;i++) //读入内存{TempArry[i]=*(uint *)(SegX+i);}TempArry[AddrNum]= wdata; //在数组中的某一位置AddrNum写入wdata FlashErase(SegX); //段擦除FCTL3=FWKEY; //lock=0开锁FCTL1=FWKEY+WRT; //准备写for(i=0;i<SegSize;i++) //向段中重新写数组{*(uint *)(SegX+i)=TempArry[i];}FCTL1=FWKEY; //写关闭FCTL3=FWKEY+LOCK; //上锁}/********************Flash批量写********************/void FlashBurstWrite(int SegX,int *pStr){int i;FlashErase(SegX); //段擦除FCTL3=FWKEY; //lock=0,开锁FCTL1=FWKEY+WRT; //写使能for(i=0;i<2*sizeof(pStr);i++) //将数组内容写入段中{*(uchar *)(SegX+i)=*(pStr+i);}FCTL1=FWKEY; //写关闭FCTL3=FWKEY+LOCK; //上锁}main(){char ReadChar;uint ReadWord;int p[]={'a','b','c','d'};WDTCTL=WDTPW+WDTHOLD; //关闭看门狗P1DIR=0xff; //P1口设为输出,闲置的I/O不悬空P2DIR=0xff; //P2口设为输出,闲置的I/O不悬空P1OUT=0xff; //P1口输出1P2OUT=0xff; //P2口输出1FlashInit(); //Flash初始化FlashErase(SegD);FlashWriteChar(0x01007,0x12); //向地址01008h写入12hReadChar=FlashReadChar(0x01007); //读取地址01008h的值FlashWriteWord(0x01008,0x3456); //向地址01009h和0100Ah依次写入56h和34hReadWord=FlashReadWord(0x01008); //读取从地址01009h起的一个字FlashWriteChar(0x01017,ReadChar); //向地址01018h写入12hFlashWriteWord(0x01018,ReadWord); //向地址01019h和0101Ah依次写入56h和34hFlashBurstWrite(SegC,p); //向SegD段从地址0110h依次写入a、b、c、dFlashModifyChar(SegB,0x02,0xef); //将地址0112h和0113h内容改为e和f _BIS_SR(CPUOFF); //关闭CPU}3.61. USCI模块串行异步通信例程以MSP430G2553的USCI模块串行异步通信操作为例,介绍串口寄存器配置及收发程序处理过程。
第3章实验安排实验1 C实验环境与C程序初步一、目的和要求1.熟悉C程序运行环境。
2.初步了解运行一个C程序的过程(编辑、编译、连接和运行)。
3.通过运行和模仿编写简单的C程序,初步了解C源程序的结构和特点。
二、实验内容1.熟悉计算机中安装的C编译集成环境,新建一个C文件,输入下面的程序,编译并执行。
学习运行程序的过程,并分析运行结果。
#include <stdio.h>void main( ){int a=2,b=3,c;c=a+b;printf("sum=%d\n",c);}2.输入下面的程序,改正错误,并对其进行编译、链接和运行。
#include <stdio.h>void mian( ){printf("This is a C program.\n');}3.理解下面程序的功能,编译并运行程序。
输入两个整数,分析并验证程序的运行结果。
#include <stdio.h>int sum(int x,int y){int z;z=x+y;return(z);}void main( ){int a,b,c;scanf("%d%d",&a,&b);c=sum(a,b);printf("sum=%d\n",c);}提示:①这是一个包含自定义函数sum( )的程序。
②注意scanf( )函数的数据输入格式,输入的两个整数之间可以用空格或者回车或者制表符隔开。
4.编写一个程序,输出以下信息:********************Hello everyone!********************提示:本题可以使用一个或三个输出函数printf( )来实现输出三行信息。
要注意的是printf( )函数一次可以输出多个数据或字符,“\n”用来表示回车换行。
5.编写一个程序,输出图4.1中的图形。
实验四接口回调实验目的:●掌握接口●接口回调技术实验要求:卡车要装载一批货物,货物有3种商品:电视、计算机和洗衣机。
需要计算出大货车和小货车各自所装载的3种货物的总重量。
要求有一个ComputeWeight接口,该接口中有一个方法:public double computeWeight()有3个实现该接口的类:Television、Computer和WashMachine。
这3个类通过实现接口给出自重。
有一个Car类,该类用ComputeWeight接口类型的数组作为成员,那么该数组的单元就可以存放Television对象的引用、Computer对象的引用或WashMachine对象的引用。
程序能输出Car对象所装载的货物的总重量。
实验指导由于数组goods的每个单元存放的是实现ComputerWeight接口的对象的引用,实验中的【代码5】可以通过循环语句让数组goods的每个单元调用computerWeight()方法,并将该方法返回的值累加到totalWeights。
程序模板如下:interface ComputerWeight{double computeWeight();}class Television implements ComputerWeight{【代码1】}class Computer implements ComputerWeight{【代码2】}class washMachine implements ComputerWeight{【代码3】}class Car{ ComputerWeight[] goods;double totalWeights=0;Car(ComputerWeight[] goods){【代码4】}public double getTotalWeights(){totalWeights=0;【代码5】}}public class Road{public static void main (String args[]){ComputerWeight[] goodsOne=new ComputerWeight[50],goodsTwo=new ComputerWeight[22];for (int i=0;i<goodsOne.length;i++){ if(i%3==0)goodsOne[i]=new Television();else if(i%3==1)goodsOne[i]=new Computer();else if(i%3==2)goodsOne[i]=new washMachine();}for (int i=0;i<goodsTwo.length;i++){ if(i%3==0)goodsTwo[i]=new Television();else if(i%3==1)goodsTwo[i]=new Computer();else if(i%3==2)goodsTwo[i]=new washMachine();}Car 大货车=【代码6】System.out.println("大货车装载的货物重量"+【代码7】);Car 小货车=【代码8】System.out.println("小货车装载的货物重量"+【代码9】);}}实验后练习1、请在实验的基础上再编写一个实现ComputerWeight接口的类,比如Refrigerator。
⾃动控制原理实验1-6实验⼀MATLAB 仿真基础⼀、实验⽬的:(1)熟悉MATLAB 实验环境,掌握MATLAB 命令窗⼝的基本操作。
(2)掌握MATLAB 建⽴控制系统数学模型的命令及模型相互转换的⽅法。
(3)掌握使⽤MATLAB 命令化简模型基本连接的⽅法。
(4)学会使⽤Simulink 模型结构图化简复杂控制系统模型的⽅法。
⼆、实验设备和仪器 1.计算机;2. MATLAB 软件三、实验原理函数tf ( ) 来建⽴控制系统的传递函数模型,⽤函数printsys ( ) 来输出控制系统的函数,⽤函数命令zpk ( ) 来建⽴系统的零极点增益模型,其函数调⽤格式为:sys = zpk ( z, p, k )零极点模型转换为多项式模型[num , den] = zp2tf ( z, p, k ) 多项式模型转化为零极点模型 [z , p , k] = tf2zp ( num, den )两个环节反馈连接后,其等效传递函数可⽤feedback ( ) 函数求得。
则feedback ()函数调⽤格式为: sys = feedback(sys1, sys2, sign )其中sign 是反馈极性,sign 缺省时,默认为负反馈,sign =-1;正反馈时,sign =1;单位反馈时,sys2=1,且不能省略。
四、实验内容:1.已知系统传递函数,建⽴传递函数模型2.已知系统传递函数,建⽴零极点增益模型3.将多项式模型转化为零极点模型12s 2s s 3s (s)23++++=G )12()1()76()2(5)(3322++++++=s s s s s s s s G 12s 2s s 3s (s)23++++=G )12()1()76()2(5)(3322++++++=s s s s s s s s G4. 已知系统前向通道的传递函数反馈通道的传递函数求负反馈闭环传递函数5、⽤系统Simulink 模型结构图化简控制系统模型已知系统结构图,求系统闭环传递函数。
目录实验一线性表基本操作的编程实现 (201)实验二堆栈或队列基本操作的编程实现 (49)实验四二维数组基本操作的编程实现 (18)实验五二叉树基操作的编程实现 (20)实验六图基本操作的编程实现 (45)(特别提示:程序设计包含两个方面的错误。
其一是错误,其二是能错误。
为了提高学生的编程和能力,本指导书给出的程序代码并的两种错误。
并且也不保证程序的完整性,有一些语句已经故意删除,就是要求学生自己编制完成,这样才能达到我们的要求。
希望大家以自己所学高级语言的基本功和点为基础,不要过于依赖给出的参考代码,这样才能有所进步。
如果学生能够根据要求完全自己编制,那就不好了。
)实验一线性表基本操作的编程实现【实验目的】线性表基本操作的编程实现要求:线性表基本操作的编程实现(2学时,验证型),掌握线性表的建立、遍历、插入、删除等基本操作的编程实现,也可以进一步编程实现查找、逆序、排序等操作,存储结构可以在顺序结构或链表结分主要功能,也可以用菜单进行管理完成大部分功能。
还鼓励学生利用基本操作进行一些更实际的应用型程序设计。
【实验性质】【实验内容】把线性表的顺序存储和链表存储的数据插入、删除运算其中某项进行程序实现。
建议实现键盘输入数据以实现程序的通据的函数。
【注意事项】【思考问题】1.线性表的顺序存储和链表存储的差异?优缺点分析?2.那些操作引发了数据的移动?3.算法的时间效率是如何体现的?4.链表的指针是如何后移的?如何加强程序的健壮性?【参考代码】(一)利用顺序表完成一个班级学生课程成绩的简单管理1、预定义以及顺序表结构类型的定义(1)#define ListSize //根据需要自己设定一个班级能够容纳的最大学生数(2)typedef struct Stu{int num; //学生的学号char name[10]; //学生的姓名float wuli; //物理成绩float shuxue; //数学成绩float yingyu; //英语成绩}STUDENT; //存放单个学生信息的结构体类型typedef struct List{stu[ListSize]; //存放学生的数组定义,静态分配空间int length; //记录班级实际学生个数}LIST; //存放班级学生信息的顺序表类型2、建立班级的学生信息void listcreate(LIST *Li,int m) //m为该班级的实际人数{int i;Li->length=0;for(i=0;i<m;i++) //输入m个学生的所有信息{printf("please input the %dth student's information:\n",i+1);printf("num=");scanf("%d", ); //输入第i个学生的学号printf("name=");scanf("%s", ); //输入第i个学生的姓名printf("wuli=");scanf("%f", ); //输入第i个学生的物理成绩printf("shuxue=");scanf("%f", ); //输入第i个学生的数学成绩printf("yingyu=");scanf("%f", ); //输入第i个学生的英语成绩Li->length++; //学生人数加1}}3、插入一个学生信息int listinsert(LIST *Li,int i) //将学生插入到班级Li的第i个位置。
《C语言程序设计实验》指导书(简明版)**大学软件学院**年**月实验一顺序结构程序设计(2学时)一、实验目的1、熟悉C编译环境、简单C程序结构及书写方式、以及C程序的编辑、编译、连接、运行、调试的步骤;2、掌握C语言的基本数据类型及其输入输出格式,以及输入输出函数的使用方法;3、掌握C语言的算术运算符(特别是自增、自减运算符)、赋值运算符、关系运算符、逻辑运算符、条件运算符、逗号运算符的使用;4、掌握C语言顺序结构程序的执行流程、设计方法,能够根据实际问题灵活使用顺序结构,画出程序的算法流程图,设计出逻辑合理、思路清晰、结果正确的顺序结构程序。
二、实验内容及要求1、实验内容包括8道题目,分为基本内容和选做内容两部分。
要求:(1)基本内容中的实验题目是必须要完成的,选做内容中的实验题目可以根据自己的情况选做或全做(越多越好,适当加分);(2)在实验之前编写出基本内容、选做内容中的所有程序,实验前检查(视未完成情况适当扣分);(3)对于设计型题目,要求画出程序流程图(传统流程图和N-S图);(4)在上机实验过程中,注意总结和体会上机步骤(编辑、编译、连接、运行、调试、结果分析),注意培养观察、分析和排除编译错误、连接错误和程序逻辑错误的初步能力;(5)上机结束后,应按要求认真书写实验报告(格式见附件)。
2、基本内容(1)[验证型]编辑下列程序,然后进行编译、连接和运行,观察结果,并简要总结简单C程序的结构、书写格式以及上机过程;#include <stdio.h>int main( ){printf("Hello, world!\n");return 0;}(2)[验证型]通过运行下列程序,分析各种格式符的使用方法。
#include <stdio.h>int main( ){int a = 9, b = 2;float x = 32.8459, y = -792.451;char d = 'R';long n = 5461237;unsigned u = 65535;printf("%d,%d\n", a, b);printf("%3d,%3d\n", a, b);printf("%f,%f\n", x, y);printf("%-10f,%-10f\n", x, y);printf("%8.2f,%8.2\n", x, y);printf("%.4f,%.4f\n", x, y);printf("%3f,%3f\n", x, y);printf("%e,%10.2e\n", x, y);putchar(d);putchar('\n');printf("%c,%d,%o,%x\n", d, d, d, d);printf("%ld,%lo,%x\n", n, n, n);printf("%u,%o,%x,%d\n", u, u, u, u);return 0;}(3)[验证型]编辑下列程序,进行编译、连接和运行。
实验室试剂耗材编码分类说明
实验室试剂耗材编码分类是一个复杂的过程,它需要考虑到各种因素,包括试剂耗材的种类、用途、危险性等。
以下是一个可能的编码分类说明:
1. 类别编码:根据试剂耗材的种类进行分类,例如无机试剂、有机试剂、高纯度试剂等。
2. 形态编码:根据试剂耗材的形态进行分类,例如液体、固体、粉末等。
3. 用途编码:根据试剂耗材的具体用途进行分类,例如用于合成、分析、测试等。
4. 危险性编码:根据试剂耗材的危险性进行分类,例如易燃易爆、腐蚀性、毒性等。
在编码时,可以采取一定的规则,例如使用数字或字母进行编码,并按照一定的顺序进行排列。
例如,无机液体试剂可以编码为“1101”,其中“1”表示无机试剂,“1”表示液体,“01”表示无机液体中的第一个类别。
此外,对于一些特殊的试剂耗材,可以根据其特性进行特殊编码。
例如,对于一些具有特定荧光性质的试剂,可以增加一个荧光编码。
总的来说,实验室试剂耗材编码分类需要科学、合理、实用和安全。
通过合理的编码分类,可以方便地对实验室试剂耗材进行管理、使用和存储,并能够提高实验室工作的效率和质量。
上机实践1 初识C语言实验1 一个简单的C程序simple.c#include <stdio.h>int main() {【代码1】//输出"很高兴学习C语言\n"【代码2】//输出"We are students\n"getchar();return 0;}实验2 有多个函数的C程序twoFuction.c#include <stdio.h>void speakHello(); //函数的原型void showStar(); //函数的原型int main() {showStar();speakHello();showStar();speakHello();showStar();}void speakHello() {【代码1】//输出""how are you\n"}void showStar() {【代码2】//输出"******\n"}实验答案实验1【代码1】:printf("很高兴学习C语言\n");【代码2】:printf ("We are students\n");实验2【代码1】:printf("how are you\n");【代码2】:printf("******\n");上机实践2 C程序的基本结构实验1 有多个源文件的C程序main.c#include <stdio.h>int add(int,int); //add的函数原型int sub(int,int);int main(){int result = 0;int x=12,y=20;printf("调用add函数计算和\n");result = add(x,y);printf("result =%d \n",result);printf("调用sub函数计算差\n");result = sub(x,y);printf("result =%d \n",result);}computer.cint add(int,int); //函数原型int sub(int,int);int add(int a,int b) {int sum =0;sum = a+b;return sum;}int sub(int a,int b) {int difference =0;difference = a-b;return difference;}实验2 向C程序添加源文件like.c#include <stdio.h>void swim();void seeTV();void swim() {printf("我喜欢游泳\n");}void seeTV() {printf("我喜欢看电视\n");}上机实践3 标识符与基本数据类型change.c#include<stdio.h>int main(){【代码1】//用int声明名字是cupOne,cupTwo的变量【代码2】//用int声明名字是temp的变量cupOne = 12;cupTwo = 18;printf("cupOne中的液体体积是:%d\n",cupOne);printf("cupTwo中的液体体积是:%d\n",cupTwo);【代码3】//将cupOne赋值给temp【代码4】//将cupTwo赋值给cupOne【代码5】//将temp赋值给变量cupTwoprintf("cupOne中的液体体积是:%d\n",cupOne);printf("cupTwo中的液体体积是:%d\n",cupTwo);return 0;}实验2 戒指的价值ringRice.c#include<stdio.h>【代码1】使用define预处理指令定义符号常量UnitPrice,其值是789int main(){【代码2】//用float 声明名字是goldMeasure1的变量【代码3】//用double 声明名字是goldMeasure2的变量;double fingerRingPrice;goldMeasure1 = 8.987654321f;fingerRingPrice = UnitPrice*goldMeasure1;printf("计量工具1显示的戒指的质量是(小数点保留10位):%12.10f\n",goldMeasure1);printf("根据计量工具1给出戒指的价格是:%f\n",fingerRingPrice);goldMeasure2 = 8.987654321;fingerRingPrice = UnitPrice*goldMeasure2;printf("计量工具2显示的戒指的质量是(小数点保留10位):%12.10f\n",goldMeasure2);printf("根据计量工具2给出戒指的价格是:%f\n",fingerRingPrice);return 0;}实验3 录入、输出成绩单scoreList.c#include<stdio.h>int main(){【代码1】//声明存放成绩的float型变量: math,english,chinesefloat sum = 0;【代码2】//调用scanf函数从键盘为: math,english,chinese输入值,输入的值用空格分隔sum = math+english+chinese;printf("%f\t%f\t%f\t总成绩:%f\n",math,english,chinese,sum);【代码3】//调用scanf函数从键盘为: math,english,chinese输入值,输入的值用逗号分隔sum = math+english+chinese;printf("%f\t%f\t%f\t总成绩:%f\n",math,english,chinese,sum);【代码4】//调用scanf函数从键盘为: math,english,chinese输入值,输入的值用减号分隔sum = math+english+chinese;printf("%f\t%f\t%f\t总成绩:%f\n",math,english,chinese,sum);return 0;}实验4 因地制宜、量力而行scoreList.c#include<stdio.h>#include<limits.h>#include<float.h>int main(){char ch1=97,ch2=ch1+256;short m1,m2;printf("ch1是%c,ch2是%c\n",ch1,ch2);printf("char型取值范围%d至%d\n",CHAR_MIN,CHAR_MAX);printf("unsigned char型取值范围%d至%d\n",0,UCHAR_MAX);printf("short型取值范围%d值%d\n",SHRT_MIN,SHRT_MAX);printf("unsigned short型取值范围%u至%u\n",0,USHRT_MAX);m1 = 60;m2 = m1+65536;printf("m1=%d,m2=%d\n",m1,m2);printf("int型取值范围%d值%d\n",INT_MIN,INT_MAX);printf("unsigned int型取值范围%u至%u\n",0,UINT_MAX);printf("long型取值范围%ld值%ld\n",LONG_MIN,LONG_MAX);printf("unsigned longt型取值范围%lu至%lu\n",0,ULONG_MAX);printf("float型取值范围%e至%e\n",FLT_MIN,FLT_MAX);printf("double型取值范围%e至%e\n",DBL_MIN,DBL_MAX);return 0;}实验答案实验1【代码1】:int cupOne,cupTwo;【代码2】:int temp;【代码3】:temp = cupOne;【代码4】:cupOne = cupTwo;【代码5】:cupTwo = temp;实验2【代码1】:#define UnitPrice 789;【代码2】:float goldMeasure1;【代码3】:double goldMeasure2;实验3【代码1】:float math,english,chinese;【代码2】:scanf("%f %f %f",&math,&english,&chinese);【代码3】:scanf("%f,%f,%f",&math,&english,&chinese);【代码4】:scanf("%f-%f-%f",&math,&english,&chinese);上机实践4 运算符、表达式与语句ticket.c#include <stdio.h>int main() {int ticketNumber;char a1,a2,a3,a4,a5;printf("输入彩票号码:\n");scanf("%d",&ticketNumber);【代码1】//将ticketNumber%10的值赋值给变量a1【代码2】//将ticketNumber/10的值赋值给变量ticketNumbera2 = ticketNumber%10;ticketNumber = ticketNumber/10;a3 = ticketNumber%10;ticketNumber = ticketNumber/10;a4 = ticketNumber%10;ticketNumber = ticketNumber/10;a5 = ticketNumber%10;printf("个,十,百,千,万位上的数字依次是:%d,%d,%d,%d,%d\n",a1,a2,a3,a4,a5);【代码3】//输出a1+a2+a3+a4+a5【代码4】//输出a1*a2*a3*a4*a5ticketNumber = a5*10000+a4*1000+a3*100+a2*10+a1;printf("%d\n",ticketNumber);ticketNumber = a1*10000+a2*1000+a3*100+a4*10+a5;printf("%d\n",ticketNumber);return 0;}实验2 武林高手之对决InputArray.c#include <stdio.h>int main() {【代码1】//声明两个无符号的short型变量:personOne,personTwounsigned short energySum;personOne = 6;personTwo = 3;printf("当前高手1和高手2的能量:%u,%u\n",personOne,personTwo);【代码2】//将表达式personOne++*personTwo--赋值给energySum;【代码3】//输出energySum的值;printf("当前高手1和高手2的能量:%u,%u\n",personOne,personTwo);energySum = personOne++*personTwo--;printf("第二次互相击掌产生的能量:%u\n",energySum);printf("当前高手1和高手2的能量:%u,%u\n",personOne,personTwo);energySum = personOne++*personTwo--;printf("第三次互相击掌产生的能量:%u\n",energySum);printf("当前高手1和高手2的能量:%u,%u\n",personOne,personTwo);return 0;}实验3 电路图circuit.c#include <stdio.h>int main() {int above1,above2,center,bottom1,bottom2;int pass = 0;printf("输入开关above1的状态(非0或0)");scanf("%d",&above1);printf("输入开关above2的状态(非0或0)");scanf("%d",&above2);printf("输入开关center的状态(非0或0)");scanf("%d",¢er);printf("输入开关bottom1的状态(非0或0)");scanf("%d",&bottom1);printf("输入开关bottom2的状态(非0或0)");scanf("%d",&bottom2);【代码1】//above1和above2为开状态的逻辑表达式的值赋值给passprintf("pass = %d\n",pass);pass = (above1!=0||bottom1!=0)&&(center!=0)&&(above2!=0||bottom2!=0);【代码2】//above1或bootom1为开状态,center为开状态、above2或bootom2为开状态的逻辑表达式的值赋值给passprintf("pass = %d\n",pass);【代码3】//bottom1和bottom2为开状态的逻辑表达式的值赋值给passprintf("pass = %d\n",pass);return 0;}实验4 托运行李baggageAndMony.c#include <stdio.h>#define TrainCharge 12#define CarCharge 22#define PlaneCharge 0.062int main() {double weight,charge;printf("输入行李重量:");scanf("%lf",&weight);printf("行李重量:%f公斤(kg)\n",weight);printf("需要计费的重量:%d(kg)\n",(int)weight);【代码1】//将表达式(int)weight*TrainCharge的值赋值给chargeprintf("用火车托运(%d元/kg),费用:%f元\n",TrainCharge,charge);printf("需要计费的重量:%d(kg)\n",(int)(weight+0.5));【代码2】】//将表达式(int)(weight+0.5)*CarCharge的值赋值给chargeprintf("用汽车托运(%d元/kg),费用:%f元\n",CarCharge,charge);printf("行李重量:%f克(g)\n",weight*1000);printf("需要计费的重量:%d(g)\n",(int)(weight*1000+0.5));【代码3】//将表达式(int)(weight*1000+0.5)*PlaneCharge的值赋值给chargeprintf("用飞机托运(%f元/g),费用:%f元\n", PlaneCharge,charge);return 0;}实验答案实验1【代码1】:a1 = ticketNumber%10;【代码2】:ticketNumber = ticketNumber/10;【代码3】:printf("a1+a2+a3+a4+a5=%d\n",a1+a2+a3+a4+a5);【代码4】:printf("a1*a2*a3*a4*a5=%d\n",a1*a2*a3*a4*a5);实验2【代码1】:unsigned short personOne,personTwo;【代码2】:energySum=personOne++*personTwo--;【代码3】:printf("第一次互相击掌产生的能量:%u\n",energySum);实验3【代码1】:pass = (above1!=0)&&(above2!=0);【代码2】:pass = (above1!=0||bottom1!=0)&&(center!=0)&&(above2!=0||bottom2!=0);【代码3】:pass = (bottom1!=0)&&(bottom2!=0);实验4【代码1】:charge = (int)weight*TrainCharge;【代码2】:charge = (int)(weight+0.5)*CarCharge;【代码3】:charge = (int)(weight*1000+0.5)*PlaneCharge;上机实践5 分支语句equation.c#include <stdio.h>#include <math.h>int main() {double a,b,c;double root1,root2;double disc;printf("输入系数a,b,c(逗号分隔):");scanf("%lf,%lf,%lf",&a,&b,&c);disc = b*b-4*a*c;if(a==0) {【代码1】//使用if-else语句,根据b是否为0输出是否为方程以及是方程时,方程的根}else {【代码2】//使用if-else语句,根据disc是否为负输出是否为二次方程以及方程的根}return 0;}实验2 商场的优惠shop.c#include <stdio.h>#define POINT1 100#define POINT2 200#define POINT3 500int main(){float amountMoney = 0;float charge = 0;printf("输入商品的总额:");scanf("%f",&amountMoney);if(amountMoney<POINT1) {charge = amountMoney;}else if(amountMoney<POINT2&&amountMoney>=POINT1){【代码1】//计算支付金额并赋值给charge}else if(amountMoney<POINT3&&amountMoney>=POINT2){【代码2】//计算支付金额并赋值给charge}else if(amountMoney>=POINT3){【代码3】//计算支付金额并赋值给charge}printf("顾客支付金额:%-20.2f\n",charge);printf("顾客节省金额:%-20.2f\n",amountMoney-charge);return 0;}实验3 四则运算computer.c#include <stdio.h>int main(){double numberOne,numberTwo = 0;char opration = '+';double result = 0;printf("输入第一个运算数、运算符号、第二个运算数(不要有任何分隔符号):\n");scanf("%lf%c%lf",&numberOne,&opration,&numberTwo);switch(opration) {case '+' :【代码1】//将numberOne+numberTwo赋值给resultprintf("%lf%c%lf=%lf\n",numberOne,opration,numberTwo,result);break;case '-' :【代码2】//将numberOne-numberTwo赋值给resultprintf("%lf%c%lf=%lf\n",numberOne,opration,numberTwo,result);break;case '*' :【代码3】//将numberOne*numberTwo赋值给resultprintf("%lf%c%lf=%lf\n",numberOne,opration,numberTwo,result);break;case '/' :result = numberOne/numberTwo;printf("%lf%c%lf=%lf\n",numberOne,opration,numberTwo,result);break;default:printf("%lf %c %lf不符合要求\n",numberOne,opration,numberTwo);}return 0;}实验4 自动售货机machineSell.c#include <stdio.h>int main() {unsigned short money;char drinkKind;printf("投入金额:2,3或5元(回车确认):");scanf("%d",&money);getchar(); //消耗回车if(money==2) {printf("选择净净矿泉水(A),甜甜矿泉水(B)和美美矿泉水(C)之一:\n");printf("输入A,B或C:");drinkKind=getchar();switch(drinkKind) {case 'A' : printf("得到净净矿泉水\n");break;case 'B' : printf("得到甜甜矿泉水\n");break;case 'C' : printf("得到美美矿泉水\n");break;default: printf("选择错误");}}else if(money==3) {printf("选择爽口可乐(A),清凉雪碧(B),和雪山果汁(C)之一:\n");printf("输入A,B或C:");drinkKind=getchar();switch(drinkKind) {case 'A' : printf("得到爽口可乐\n");break;case 'B' : printf("得到清凉雪碧\n");break;case 'C' : printf("得到雪山果汁\n");break;default: printf("选择错误");}}else if(money==5) {printf("选择草原奶茶(A),青青咖啡(B)和甜美酸奶(C)之一:\n");printf("输入A,B或C:");drinkKind=getchar();switch(drinkKind) {case 'A' : printf("得到草原奶茶\n");break;case 'B' : printf("得到青青咖啡\n");break;case 'C' : printf("得到甜美酸奶\n");break;default: printf("选择错误");}}else {printf("输入的钱币不符合要求");}return 0;}实验答案实验1【代码1】:if(b==0) {printf("不是方程\n");}else {printf("是一元一次方程,只有一个根:%f\n",-c/b);}【代码2】:if(disc>=0) {root1 = (-b+sqrt(disc))/2*a;root2 = (-b-sqrt(disc))/2*a;printf("是一元二次方程,有两个实根:%f,%f\n",root1,root2);}else {printf("是一元二次方程,没有实根\n");}实验2【代码1】:charge = POINT1+(amountMoney-POINT1)*0.9f;【代码2】:charge = POINT1+(POINT2-POINT1)*0.9f+(amountMoney-POINT2)*0.8f;【代码3】:charge = POINT1+(POINT2-POINT1)*0.9f+(POINT3-POINT2)*0.8f+(amountMoney-POINT3)*0.7f;实验3【代码1】:result = numberOne+numberTwo;【代码2】:result = numberOne-numberTwo;【代码3】:result = numberOne*numberTwo;上机实践6 循环语句实验1 数字中的各位之和与积DigitSum.c#include <stdio.h>int main(){unsigned short number;unsigned short remainder;unsigned short sum = 0,ji=1,temp=0;printf("输入一个正整数:");scanf("%d",&number);temp=number;while(number!=0) {remainder = number%10;【代码1】//将sum + remainder赋值给sum【代码2】//将ji * remainder赋值给ji【代码3】//将number/10赋值给number}printf("%u上各位数字之和是:%u\n",temp,sum);printf("%u上各位数字之积是:%u\n",temp,ji);return 0;}实验2 转动数字turnDigit.c#include <stdio.h>#include <stdlib.h>int main(){unsigned int number;unsigned int remainder,i=1,temp,save,count =1 ;unsigned short a5,a4,a3,a2,a1;//number上从高位到低位上的数字printf("输入一个正整数:");scanf("%d",&number);save = number;if(number>99999||number<9999){printf("输入的数字不符合要求\n");exit(0);}while(count<=5){do {remainder = number%10;switch(i) {case 1 :a1=remainder;break;case 2 :a2=remainder;break;case 3 :a3=remainder;break;case 4 :a4=remainder;break;case 5 :a5=remainder;break;}number = number/10;i++;} while(remainder!=0);temp = a1;a1 = a2 ;a2 = a3;a3 = a4 ;a4 = a5 ;a5 = temp;number=a5*10000+a4*1000+a3*100+a2*10+a1;printf("%u转动%u次是:%u\n",save,count,number);count++;}return 0;}实验3 计算正弦值sin.c#include <stdio.h>#include <math.h>int main(){unsigned short i;unsigned long n =1,jiecheng =1;short fuhao = 1;double sum =0,x = 1,item = x/jiecheng;double t = x*x,temp = x;printf("输入x的值(在0至π/2之间即可):");scanf("%lf",&x);item = x/jiecheng;t = x*x;temp = x;for(;item>=1E-5;) {sum = sum +fuhao*item;fuhao = -fuhao;【代码1】//将t*x赋值给x【代码2】//将n+2赋值给nfor(i=1,jiecheng=1;i<=n;i++) {jiecheng = jiecheng*i ;}【代码3】//将x/jiecheng赋值给item}printf("for语句计算结果是:\n%11.10lf\n",sum);printf("库函数计算结果是:\n%11.10lf\n",sin(temp));}实验4 猜字母游戏guessLetter.c#include <stdio.h>#include <time.h>#include <stdlib.h>int main(){char randomLetter; //随机的小写英文字母char guess; //用户的猜测char c = 'A';while(c<='Z') {printf("%3c",c);c++;}srand(time(NULL)); //用当前时间做随机种子randomLetter = rand()%26+'A';printf("\n给你一个a~z之间的字母,请猜出这个字母.\n");printf("输入你的猜测(回车确认):");guess = getchar();if(guess<='z'&&guess>='a')guess = guess-32; //变成大写字母getchar(); //消耗回车while(guess != randomLetter) {if(guess > randomLetter){printf("所猜字母大于给你的字母!\n");}else if(guess < randomLetter){printf("所猜字母小于给你的字母!\n");}printf("再输入你的猜测(回车确认):");guess = getchar();if(guess<='z'&&guess>='a')guess = guess-32; //变成大写字母getchar(); //消耗回车}printf("您猜对了,这个字母就是:%c\n",randomLetter);return 0;}实验5 记忆测试test.c#include <stdio.h>#include <stdlib.h>#include <time.h>int main(){long now;char c1,c2,c3,c4,c5,c6;char s1,s2,s3,s4,s5,s6;unsigned short score = 0,i;char ok ='y',temp;srand(time(NULL)); //用当前时间做随机种子while(ok=='y'||ok=='Y') {ok = 'n';c1 = rand()%26+'a';c2 = rand()%26+'a';c3 = rand()%26+'a';c4 = rand()%26+'a';c5 = rand()%26+'a';c6 = rand()%26+'a';printf("%c%c%c%c%c%c",c1,c2,c3,c4,c5,c6);now = clock();for( ;clock()-now<=5000;) {}printf("\r"); // 将输出光标移动到本行开头(不回行)for(i=1;i<=6;i++) //输出6个*,以便擦除曾显示的字符串printf("*");printf("输入刚才显示的字符序列(回车确认):\n");scanf("%c%c%c%c%c%c",&s1,&s2,&s3,&s4,&s5,&s6);temp =getchar(); //消耗调用户确认输入时所输入的回车if(temp!='\n') {printf("输入非法,程序退出!");exit(0);}if(c1==s1&&c2==s2&&c3==s3&&c4==s4&&c5==s5&&c6==s6) { score++;printf("恭喜,记忆力不错!\n");}else {printf("遗憾,记得不准确\n");}printf("目前得分%u:\n",score);printf("继续测试吗?输入y或n(回车确认):");ok = getchar();getchar();}}实验答案实验1【代码1】:sum = sum + remainder;【代码2】:ji = ji * remainder;【代码3】:number = number/10;实验3【代码1】:x = t*x;【代码2】:n = n+2;【代码3】:item = x/jiecheng;上机实践7 函数的结构与调用circle.c#include <stdio.h>double getCircleArea(double); //函数原型double getCircleArea(double radius) { //函数定义double area = radius*radius*3.1415926;return area;}computer.c#include <stdio.h>double getCircleArea(double); //函数原型(在该源文件中就可以调用getCircleArea函数了)int main() {double radius,height;double volume;printf("输入柱体的底圆半径和高(逗号分隔):\n");scanf("%lf,%lf",&radius,&height);【代码1】// 将getCircleArea(radius)*height赋值给volume;printf("柱体的体积:%lf\n",volume);printf("输入锥体的底圆半径和高(逗号分隔):\n");scanf("%lf,%lf",&radius,&height);【代码2】// 将getCircleArea(radius)*height/3赋值给volume;printf("锥体的体积:%lf\n",volume);return 0;}实验2 商厦与亲民小店largeShop.c#include <stdio.h>double expensiveComputer(); //函数原型double expensiveComputer() { //函数定义int m = 1;double price,sum =0;printf("这里是商厦,请依次输入商品的价格(逗号分隔).\n");printf("输入任意字母结束输入过程:\n");m=scanf("%lf,",&price);while(m!=0) {sum = sum+ price;m=scanf("%lf,",&price);}getchar();printf("实际价格总额:%lf\n",sum);return sum;}smallShop.c#include <stdio.h>double cheapnessComputer(); //函数原型double cheapnessComputer() { //函数定义int m = 1;double price,sum =0;printf("这里是亲民小店,请依次输入商品的价格(逗号分隔).\n");printf("输入任意字母结束输入过程:\n");m=scanf("%lf,",&price);while(m!=0) {sum = sum+ price;m=scanf("%lf,",&price);}getchar();printf("实际价格总额:%lf\n",sum);return sum; //返回值的类型级别高于函数类型级别,编译会有警告}buy.c#include <stdio.h>double expensiveComputer(); //函数原型int cheapnessComputer(); //函数原型int main() {double price;printf("在商厦购物:\n");【代码1】//调用expensiveComputer函数,并将返回值赋值给priceprintf("需要支付:%lf元\n",price);printf("在亲民小店购物:\n");【代码2】//调用cheapnessComputer函数,并将返回值赋值给priceprintf("需要支付:%lf元\n",price);return 0;}实验3 钻石展览diamond.c#include<stdio.h>void printDiamond(int,int);void printDiamond(int position,int size) { int i,j,number;number= 2*size-1;for(i=1;i<=size;i++) {for(j=1;j<=size-i+position;j++)printf("%2s"," ");for(j=1;j<=i;j++)printf("%4s","*");printf("\n");}for(i=size+1;i<=number;i++) {for(j=1;j<=i-size+position;j++)printf("%2s"," ");for(j=number-i;j>=0;j--)printf("%4s","*");printf("\n");}}look.c#include<stdio.h>void printDiamond(int,int);int main() {printDiamond(2,2);printDiamond(1,3);printDiamond(0,4);getchar();return 0;}实验4 日历leap.cint isLeapYear(int);int isLeapYear(int year) {int leap =0;leap = (year%4==0 && year%100!=0)||(year%400 == 0);return leap;}weekDay.c#define StartYear 1600 // //1600年的1月1日是星期六int isLeapYear(int); //本源文件需要调用的函数的原型unsigned int getWeekDay(unsigned int,unsigned int,unsigned int); //本源文件定义的函数的原型unsigned int getWeekDay(unsigned int year,unsigned int month,unsigned int dayNumber){unsigned int i,daySum =0;unsigned int weekDay;for(i=StartYear;i<=year-1;i++) {if(isLeapYear(i))daySum = daySum+366;elsedaySum = daySum+365;}for(i=1;i<=month-1;i++) {if(i==1||i==3||i==5||i==7||i==8||i==10||i==12)daySum = daySum+31;else if(i==4||i==6||i==9||i==11)daySum = daySum+30;else if(i==2) {if(isLeapYear(year))daySum = daySum+29;elsedaySum = daySum+28;}}daySum=daySum+dayNumber-1; //daySum是year/month/dayNumber与1600/01/01相差的天数switch(daySum%7) { //1600年的1月1日是星期六case 0 :weekDay = 6; //星期六break;case 1 :weekDay = 7; //星期日break;case 2 :weekDay = 1; //星期一break;case 3 :weekDay = 2; //星期二break;case 4 :weekDay = 3; //星期三break;case 5 :weekDay = 4; //星期四break;case 6 :weekDay = 5; //星期五break;}return weekDay;}calendar.c#include<stdio.h>unsigned int getWeekDay(unsigned int,unsigned int,unsigned int );int isLeapYear(int);int main() {unsigned int year,month;unsigned int weekDay;unsigned int i,dayNumber,maxDay;printf("输入日历的年(不小于1600)和月(逗号分隔):\n");scanf("%d,%d",&year,&month);weekDay = getWeekDay(year,month,1);if(month==1||month==3||month==5||month==7||month==8||month==10||month==12) maxDay=31;if(month==4||month==6||month==9||month==11)maxDay=30;if(month==2) {if(isLeapYear(year))maxDay=29;elsemaxDay=28;}printf("%5s%5s%5s%5s%5s%5s%5s\n","日","一", "二", "三", "四", "五", "六");for(i=0;i<weekDay;i++)printf("%5s","");for(i=weekDay,dayNumber=1;i<weekDay+maxDay;i++) {if(i%7==0)printf("\n");printf("%5d",dayNumber);dayNumber++;}for(i=weekDay+maxDay;i<42;i++)printf("%5s","");return 0;}实验5 有理数rational.c#include<stdio.h>double add(int,int,int,int);int gongYue(int,int); //函数原型int main() {double result;result=add(1,3,1,6);printf("\n结果用小数表示是:%lf\n",result);result=add(2,3,-1,7);printf("\n结果用小数表示是:%lf\n",result);}double add(int b,int a,int n,int m) {int x;int y;int p,q;x = b*m+a*n; //计算出分子y = a*m; //计算出分母if(x<0&&y<0) {x = -x;y = -y;}p=x/gongYue(x,y);q=y/gongYue(x,y);printf("(%d/%d)+(%d/%d)=%d/%d",b,a,n,m,p,q);return (double)p/(double)q;}int gongYue(int m,int n) {int r;int t;if(m<0) m=-m;if(n<0) n=-n;if(m<n){t=m;m=n;n=t;}r = m%n;while(r!=0){ //使用辗转相除法计算最大公约数m = n;n = r;r = m%n;}return n;}实验6 Hannoi-塔tower.c#include<stdio.h>unsigned short move(int ,char,char,char);unsigned short move(int n,char one,char two,char three) { static unsigned short count=0;count++;if(n==1) {printf("from %c to %c\n",one ,three);}else if(n>=2) {count = move(n-1,one,three,two);printf("from %c to %c\n",one ,three);count = move(n-1,two,one ,three);}return count;}int main() {unsigned short m1,m2=0;printf("\nA-座有2个盘子的情况:\n");m1 = move(2,'A','B','C');printf("小和尚共花费了%u天.\n",m1);printf("\nA-座有3个盘子的情况:\n");m2 = move(3,'A','B','C');printf("小和尚共花费了%u天.\n",m2-m1);return 0;}实验7 打开画笔openSoftware.c#include<stdio.h>#include<stdlib.h>int main() {printf("列出当前目录下的子目录和文件:\n");system("dir");printf("打开画笔:\n");system("mspaint.exe");printf("打开记事本:\n");system("notepad.exe");printf("其他软件都结束了,才能输出我:\n");getchar();return 0;}实验答案实验1【代码1】:volume = getCircleArea (radius)*height;【代码2】:volume = getCircleArea (radius)*height/3;实验2【代码1】:price = expensiveComputer();【代码2】:price = cheapnessComputer();上机实践8 数组evaluate.c.#include<stdio.h>#include<math.h>int main() {double max,min; //存放最高、最低成绩double sum =0,aver,squareAver; //存放成绩的和、平均成绩、方差int count=0,i,N;【代码1】//声明类型是double、名字是score、长度为20的一维数组N = sizeof(score)/sizeof(double);printf("输入%d人的成绩(空隔或回车分隔):\n",N);for(i=0,sum=0;i<N;i++) {scanf("%lf",&score[i]);}for(i=0;i<N;i++) {【代码2】//将sum+score[i]赋值给sum}【代码3】//将sum/N赋值给averfor(i=0,sum=0;i<N;i++) {sum = sum+(score[i]-aver)*(score[i]-aver);}squareAver = sqrt(sum/N);max=min=score[0];for(i=0,sum=0,count=0;i<N;i++) {if(score[i]>max)max=score[i];if(score[i]<min)min=score[i];if(score[i]<60)count++;}printf("平均成绩:%lf\n",aver);printf("方差:%lf\n",squareAver);printf("其中一个最高成绩:%lf\n",max);printf("其中一个最低成绩:%lf\n",min);printf("不及格人数:%d\n",count);return 0;}实验2 二进制转化为十六进制jinzhi.c#include<stdio.h>#include<math.h>#define FOUR 4int main() {int i=0,m=0,j=0;long sum=0;unsigned short a[15]={1,0,1,1,1,0,1,1,1,1,1,0,1,1,1};unsigned short b[15%FOUR?15/FOUR+1:15/FOUR];int M = sizeof(b)/sizeof(unsigned short);printf("二进制表示:");for(i=0;i<15;i++) {printf("%u",a[i]);}printf("\n");for(i=15-1,sum=0;i>=0;i--) {sum = sum+a[i]*(int)pow(2,15-(i+1));}printf("十进制表示:%ld\n",sum);for(i=15-1,j=M-1;i>=0;i=i-FOUR) {for(m=0,sum=0;m<=FOUR-1;m++) {if(i-m>=0)sum=sum+a[i-m]*(int)pow(2,m);}b[j] =(unsigned short)sum;j--;}printf("十六进制表示:");for(i=0;i<M;i++) {switch(b[i]){case 10: printf("A");break;case 11: printf("B");break;case 12: printf("C");break;case 13: printf("D");break;case 14: printf("E");break;case 15: printf("F");break;default: printf("%d",b[i]);}}return 0;}实验3 修改整数中的数字changeNumber.c#include<stdio.h>#include <math.h>#include <limits.h># define OutNumber 4# define FindNumber 0int main() {unsigned long number,change=0;short a[10]={-1};int N = sizeof(a)/sizeof(unsigned short);int i=N-1,count=0 ;for(i=0;i<N;i++) {a[i]=-1;}printf("输入1至%lu之间的数:",ULONG_MAX);scanf("%ld",&number);i = N-1;while(number!=0){a[i]=(short)(number%10);number = number/10;i--;}for(i=0;i<N;i++) {if(a[i]==OutNumber)a[i]=8;}for(i=0;i<N;i++) {if(a[i]==FindNumber)。
实验参考代码实验一——实验七#include<stdio.h>void main(){ int a,b,c,t;scanf("%d%d%d",&a,&b,&c);if(a<b){t=b;b=a;a=t;}if(a<c){t=c; c=a;a=t;}printf("max is %d\n",a);}#include<stdio.h>#include<math.h>void main(){float a,x,y;a=4.3;x=2.4;y=cos(sqrt(a+x))+exp(a*x);printf("y=%f\n",y);}#include<stdio.h>void main(){ float F,C;scanf("%f",&F);C=(F-32)*5/9;printf("C=%3.1f\n",C);}#include<stdio.h>void main(){char a;scanf("%c",&a);printf("%c\n%d\n",a-32,a-32);}#include<stdio.h>void main(){int a,b,c,d;scanf("%d",&a);b=a/100;c=(a-100*b)/10;d=a%10;printf("%d %d %d\n%d\n",b,c,d,b+c+d); }#include<stdio.h>void main(){ int a;scanf("%d",&a);printf("%o %x\n",a,a);}#include<stdio.h>void main(){floata=3.0,b=4.0,c=6.0,s=0.0652,area=5.32561; printf("a=%3.1f, b=%5.3f, c=00%3.1f,s=%3.2e,area=%4.2f\n",a,b,c,s, area);}#include<stdio.h>void main(){ int a=3,b=7;float x=8.5,y=71.82;char c1='A',c2='a';printf("a=%d (空2格) b=%d\n(空1格) x=%3.1f,y=%5.2f\n(空1格)c1='%c' (空2格)c2='%c'\n",a,b,x,y,c1,c2);}#include<stdio.h>#define PI 3.1415926543void main(){ float r,a;int h;scanf("%f%d",&r,&h);printf("圆的周长是:%7.2f\n",2*PI*r); printf("圆的面积是:%7.2f\n",PI*r*r); printf("圆的圆柱体积是:%7.2f\n",PI*r*r*h);}#include<stdio.h>#include<math.h>void main(){ int a,b,c;float k,t,x1,x2;scanf("%d%d%d",&a,&b,&c);k=b*b-4*a*c;t=b/(-2*a);if(k>=0){if(k>0){ x1=t+sqrt(k)/(-2*a);x2=t-sqrt(k)/(-2*a);}else{x1=t;x2=t;}printf("x1=%3.1f,x2=%3.1f\n",x1,x2);}elseprintf("此方程无实根\n");}#include<stdio.h>void main(){char a,b,c;a=getchar();b=getchar();c=getchar();putchar(a);putchar(b);putchar(c);printf("\ n");putchar(a);printf("\n");putchar(b);printf(" \n");putchar(c);printf("\n");}#include<stdio.h>void main(){int a;scanf("%d",&a);if(a%3==0) printf("3 times %d is %d\n",a/3,a);if(a%7==0) printf("%d id %d times 7\n",a,a/7);else printf("%d is not times 3 or not times 7\n",a);} #include<stdio.h>void main(){ float x,y;scanf("%f",&x);if(x>=0&&x<=100){if(x>=50&&x<=100) y=2*x*x+3;if(x>=32&&x<50) y=x+2;else y=x;printf("y=%3.2f\n",y);}elseprintf("the number is not safe!\n"); }#include<stdio.h>void main(){int year,month,leap;scanf("%d%d",&year,&month);if((year%4==0&&year%100!=0)||(year%40 0==0)){printf("%dis a leap year\n",year);leap=0;} else{printf("%d is not a leap year\n",year);leap=1;}switch(month){case 1:case 3:case 5:case 7:case 8:case 10:case 12: printf("%d 月有31天",month); break;case 4:case 6:case 9:case 11: printf("%d 月有30天",month); break;case 2: if(leap==0) printf("%d 月有28天",month);else printf("%d月有29天",month); break;}}#include<stdio.h>void main(){int a,b,c,d,e,f,t;scanf("%d",&a);if(a/10000!=0) {printf("%d is 5位数字\n",a); t=5;}elseif(a/1000!=0) {printf("%d is 4位数字\n",a); t=4;}elseif(a/100!=0) {printf("%d is 3位数字\n",a); t=3;}elseif(a/10!=0) {printf("%d is 2位数字\n",a); t=2;}else{printf("%d is 1位数字\n",a);t=1;}if(t==5){b=a/10000;c=(a-b*10000)/1000;d=(a-b*10000-c*1000)/100;e=(a-b*10000-c*1000-d*100)/10;f=(a-b*10000-c*1000-d*100)%10;printf("%d,%d,%d,%d,%d\n%d,%d,%d, %d,%d\n",b,c,d,e,f,f,e,d,c,b);}else if(t==4){c=a/1000;d=(a-a*1000)/100;e=(a-a*1000-d*100)/10;f=(a-a*1000-d*100)%10;printf("%d,%d,%d,%d\n%d,%d,%d,%d\ n",c,d,e,f,f,e,d,c);}else if(t==3){d=a/100;e=(a-a*100)/10;f=(a-a*100)%10;printf("%d,%d,%d\n%d,%d,%d\n",d,e,f,f ,e,d); }else if(t==2){e=a/10; f=a%10;printf("%d,%d\n%d,%d\n",e,f,f,e);}else if(t==1){f=a;printf("%d\n%d\n",f,f);}}#include<stdio.h>void main(){ char m;scanf("%c",&m);if(m>='A'&&m<='Z')printf("%c 是大写字母\n",m); elseif(m>='a'&&m<='z')printf("%c 是小写字母\n",m);elseif(int(m)>=48&&int(m)<=57)printf("%c 是数字\n",m);elseprintf("%c 是字符\n",m);}#include<stdio.h>void main(){ int a,b,c;scanf("%d%d%d",&a,&b,&c);if((a+b>c)&&(a+c>b)&&(b+c>a)&&(a-b<c )&&(a-c<b)&&(b-c<a)){if((a==b)&&(b==c))printf("%d %d %d 此三数字能构成等边三角形\n",a,b,c);elseif(((a==b)&&a!=c)||((a==c)&&a!=b)||(( c==b)&&b!=a))printf("%d %d %d 此三数字能构成等腰三角形\n",a,b,c);elseif((a*a+b*b==c*c)||(a*a+c*c==b*b)||(c*c+b *b==a*a))printf("%d %d %d 此三数字能构成直角三角形\n",a,b,c);elseprintf("%d %d %d 此三数字能构成一般三角形\n",a,b,c); }else printf("此三数字不能构成三角形\n");}#include<stdio.h>void main(){ int i;for(i=0;i<=100;i++)if(i%11==0) printf("%d ",i);else continue;printf("\n");}#include<stdio.h>void main(){ float s=1.0;int i;for(i=2;i<=34;i++,i++)s=s*i;printf("2*4*6*∧*34=%7.2f\n",s);}#include<stdio.h>void main(){ int a,b,c;for(a=1;a<4;a++){ for(b=0;b<=2*a-2;b++)printf(" ");for(c=7-2*a;c>=1;c--)printf("* ");printf("\n");}/*for(a=4;a<7;a++){for(b=-2*a+12;b>=0;b--)printf(" ");for(c=2*a-7;c>=1;c--)printf("* ");printf("\n");}*/#include<stdio.h>#include<math.h>void main(){double s=0.0,a=1.0,b=2.0,temp;int n,i;printf("please input number n:\n"); scanf("%d",&n);for(i=1;i<=n;i++){s=s+pow(-1,i+1)*a/b;temp=b;b=a+b;a=tem p;}printf("s=%f\n",s);}#include<stdio.h>#include<math.h>void main(){ int t=0,i,a,b;for(i=200;i<=500;i++){a=i/7;if(i%7==0){for(b=2;b<=sqrt(a);b++)if(a%b==0) break;if(b>sqrt(a)){ t++;printf("%d ",i);}}}printf("\n");printf("t=%d\n",t);}#include<stdio.h>void main(){int a;for(a=1;;a++){if((a%2==1)&&(a%3==2)&&(a%5==4)& &(a%6==5)&&(a%7==0)){printf("这条阶梯最少阶数是:%d\n",a);break;}}}#include<stdio.h>void main(){ int b;for(int i=2;i<=1000;i++){ b=0;for(int a=1;a<=i/2;a++){if(i%a==0) b=b+a;}if(b==i)printf("%d ",i);}printf("\n");}这些为实验一至实验五的题目参考答案,有兴趣的同学可以拿回去看一下!实验六6.1#include<stdio.h>void main(){ int a[10],i;float sum=0;printf("please input numbers:\n");for(i=0;i<10;i++)scanf("%d",&a[i]);printf("output:\n");for(i=0;i<10;i++){ sum=sum+a[i];}printf("aver=%f\n",sum/10);}6.2#include<stdio.h>void main(){int a[3][2],b[2][3],i,j;printf("please input a[3][2]:\n");for(i=0;i<3;i++){ for(j=0;j<2;j++)scanf("%d",&a[i][j]);}printf("ouput a[3][2]:\n");for(i=0;i<3;i++){ for(j=0;j<2;j++){ b[j][i]=a[i][j];printf("%d ",a[i][j]);}printf("\n");}printf("ouput b[2][3]:\n");for(i=0;i<2;i++){ for(j=0;j<3;j++)printf("%d ",b[i][j]);printf("\n");}}6.3#include<stdio.h>void main(){ double a[10];int i;a[0]=2,a[1]=3;for(i=2;i<10;i++)a[i]=a[i-1]*a[i-2];printf("the output is:\n");for(i=0;i<10;i++){if(i%4==0) printf("\n");printf("%f ",a[i]);}printf("\n");}6.4#include<stdio.h>void main(){int a[20],i,j,t,k=0;printf("plaese input the number:\n");for(i=0;i<20;i++)scanf("%d",&a[i]);for(j=0;j<20-1;j++)for(i=0;i<20-1-j;i++)if(a[i]<a[i+1]){k++;t=a[i];a[i]=a[i+1];a[i+1]=t;}printf("output the sorted number:\n");for(i=0;i<20;i++){if(i%4==0) printf("\n");printf("%d ",a[i]);}printf("\n");printf("k=%d\n",k);}6.5#include<stdio.h>void main(){ int i,temp,n;char a[100]={0};printf("please input number n:\n");scanf("%d",&n);getchar();printf("please input number :\n");for(i=0;i<n;i++)scanf("%c",&a[i]);for(i=0;i<n/2;i++){ temp=a[n-1-i];a[n-1-i]=a[i];a[i]=temp;}printf("output the sorted:\n");for(i=0;i<n;i++)printf("%c ",a[i]);printf("\n");}课本153面7.6#include<stdio.h>void main(){int a[10][10],i,j;a[0][0]=1;a[1][0]=1;a[1][1]=1;for(i=2;i<10;i++)for(j=1;j<i;j++){a[i][0]=1;a[i][i]=1;a[i][j]=a[i-1][j]+a[i-1][j-1];}for(i=0;i<10;i++)for(j=0;j<=i;j++){printf("%d ",a[i][j]);if(i==j) printf("\n");}}6.6#include<stdio.h>#include <string.h>void main(){char c[30]={0};int b,i;printf("please input the number b:\n"); scanf("%d",&b);getchar();printf("please input the number:\n");for(i=0;i<7;i++)scanf("%c",&c[i]);printf("please output the new number:\n"); for(i=strlen(c)-1;i>=b-1;i--)c[i+1]=c[i];c[i+1]='a';for(i=0;i<8;i++)printf("%c",c[i]);//printf("\n");}6.7#include<stdio.h>void main(){Inta[2][3],b[3][4],i,j,m,c[2][3],d[2][4]={0},e[2][ 3];printf("please input the numbera[i][j]:\n");for(i=0;i<2;i++)for(j=0;j<3;j++)scanf("%d",&a[i][j]);printf("please input the number b[i][j]:\n");for(i=0;i<3;i++)for(j=0;j<4;j++)scanf("%d",&b[i][j]);printf("please input the number c[i][j]:\n"); for(i=0;i<2;i++)for(j=0;j<3;j++)scanf("%d",&c[i][j]);printf("please input the number a[i][j]+c[i][j]:\n");for(i=0;i<2;i++){for(j=0;j<3;j++){e[i][j]=a[i][j]+c[i][j];printf("%d ",e[i][j]);}printf("\n");}printf("please input the number a[i][m]*b[m][j]:\n");for(i=0;i<2;i++){for(j=0;j<4;j++){for(m=0;m<3;m++){d[i][j]=d[i][j]+a[i][m]*b[m][j];}printf("%d ",d[i][j]);}printf("\n");}}6.8 .第一种方法#include<stdio.h>void main(){ int a[4][4],b[2][4]={0},i,j,max,min,m=0; printf("input number a[4][4]:\n");for(i=0;i<4;i++)for(j=0;j<4;j++)scanf("%d",&a[i][j]);printf("output number a[4][4]:\n");for(i=0;i<4;i++){ for(j=0;j<4;j++)printf("%3d",a[i][j]);printf("\n");}printf("output the sorted number b[2][4]:\n");for(i=0;i<4;i++){for(j=0;j<4;j++){min=max=a[i][0];if(a[i][j]>max)max=a[i][j];if(a[i][j]<min)min=a[i][j];}if(i/2==0){b[i/2][m]=min;b[i/2][m+1]=max;m+=2;if (m>=4) m=0;}else{b[i/2][m]=min;b[i/2][m+1]=max;m+=2;}}for(i=0;i<2;i++){for(j=0;j<4;j++){printf("%d ",b[i][j]);}printf("\n");}}6.8 .第二种方法#include<stdio.h>void main(){inta[4][4],b[2][4]={0},i,j,max,min,m=0,count= 0;printf("input number a[4][4]:\n");for(i=0;i<4;i++)for(j=0;j<4;j++)scanf("%d",&a[i][j]);printf("output number a[4][4]:\n");for(i=0;i<4;i++){ for(j=0;j<4;j++)printf("%3d",a[i][j]);printf("\n");}printf("output the sorted number b[2][4]:\n");for(i=0;i<4;i++){for(j=0;j<4;j++){min=max=a[i][0];if(a[i][j]>max)max=a[i][j];if(a[i][j]<min)min=a[i][j];}count+=2;if(count<=4){b[0][m]=min;b[0][m+1]=max;m+=2;}else{if (m>=4) m=0;// count+=2;b[1][m]=min;b[1][m+1]=max;m+=2;}}for(i=0;i<2;i++){ for(j=0;j<4;j++){printf("%d ",b[i][j]);}printf("\n");}}6.9 方法一:#include<stdio.h>void main(){inta[5]={1,3,5,7,9},b[12]={2,6,8,10,12,14},i,j,k;for(i=0;i<5;i++){ for(j=0;j<11;j++){if(a[i]<b[j]){for(k=10;k>=j;k--){b[k+1]=b[k];}b[j]=a[i];break;}}}printf("output the b[11]:\n");for(j=0;j<11;j++){printf("%d ",b[j]);}printf("\n");}方法二:#include<stdio.h>int main(){inta[5]={1,3,5,7,9},b[7]={2,4,6,8,10,12,14},c[12] ;int i,j,n,flag=0,k;for(i=0;i<7;i++)c[i]=b[i];n=i;for(i=0;i<5;i++){ flag=0;for(k=0;k<n;k++)if(a[i]<c[k]&&flag==0){for(j=n-1;j>=k;j--)c[j+1]=c[j];c[k]=a[i];n=n+1;flag=1;}}for(i=0;i<12;i++)printf("%5d",c[i]);return 0;}6.10#include <stdio.h>void main(){chara[13]={'A','B','C','D','E','F','G','H','I','J',' K','L','M'};int numout=0;int k=0;for(int i=0;(i%13)<sizeof(a);i++){i%=13;if (a[i]!=0){k++;if(k==5){k=0;printf("%c ",a[i]);a[i]=0;numout++;if (numout==13) break;}}}printf("\n");}。