




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、.实验一 进制转换一、实验要求采用模块化程序设计完成进制转换。由键盘输入一个十进制正整数,然后将该数转换成指定的进制数 形式输出。指定的进制由用户输入。二、实验目的1、熟悉C 环境的安装、使用。2、承上启下,复习C 程序设计等基础课程的知识。3、掌握C 语言编程的方法。三、预备知识1、VC6.0的安装与使用。2、C 程序设计基础知识。四、实验内容采用模块化程序设计完成进制转换。五、程序框图六、程序清单1. 编写主函数:输入需转换的数与转换的进制2. 编写子函数1函数转换为除16进制以外的进制转换算数编程,使用while 循环实现计算进制的转换,并输出转换后的数字;2函数转换为16进制,用whi
2、le 函数实现16进制转换的计算并输出16进制转换后的数据;3. 编写数组,关于16进制的一系列字符4. 编写主函数加入do while 使函数可以循环。七、实验步骤#include char num16=0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F;void funint i=-1, a100;ifwhileai+=n%m;n=n/m;whileprintf;printf;elsewhilea+i=numn%16;n/=16;whileprintf;printf;int mainint a, c;char cIn = 0;doprintf;scanf;fun;printfG
3、o on? :;cIn = getchar;ifreturn 0;while;fun;printfGo on? :;cIn = getchar;ifreturn 0;while;3、调试。八、实验结果实验二 学生班级成绩统计一、实验要求设计一个统计班级学生成绩的程序。统计一个班 的学生成绩,要求能实现如下四个功能: 由键盘输入每个学生的学号和四门课程的成绩。 计算每个学生的平均成绩和总成绩。 按总成绩从高到低排名,并按名次输出每个学生的情况,包括: 学号,各科成绩,平均成绩,总成绩,排名 根据要求输出某门课程 成绩在90分 以上且总分在前5名的学生情况 。二、实验目的1、进一步熟悉C 环境的安
4、装、使用。2、进一步复习C 程序设计等基础课程的知识。3、进一步掌握C 语言编程的方法。三、预备知识1、VC6.0的安装与使用。2、C 程序设计基础知识。3、软件实现基本流程。四、实验内容设计一个统计班级学生成绩的程序。六、程序清单1、先编写主函数,将所需要用到的子函数编写,2、子函数1:输入数据,将所需要的数据存到数组中并计算平均值和总分,3、子函数2:根据子函数1计算所得值进行排序,4、子函数3:输出排序完的数据,5、子函数4:编写查询程序,输入查询的科目缩写,并排名后输出。七、实验步骤1、可行性分析2、需求分析3、概要设计与详细设计含绘制流程图。4、编码实现#include int or
5、der35;double addsum35;double addaver35;int b= 0;typedef struct studentint id;char name35;double math;double english;double chinese;double computer; student;student stu35;void shurub= 0;while b printf 输入学号: ;scanf;fflush;if stub.id break;printf;scanf;printf 输入4门成绩: ;scanf;fflush;addsumb = stub.math +
6、 stub.english +stub.chinese, puter; addaverb = addsumb / 4.0;orderb = stub.id;b+;int queryint i = 0;for i=0; iif return i;return -1;void paimingint i,j;for i=0; ifor j=i+1; jif addsumi - addsumj int temp_id = orderi;orderi = orderj;orderj = temp_id;void outputint i;printf 名次 学号 姓名 数学 英语 语文for i=0; i
7、int j = query;if j 计算机 总分平均n ;6/21页printf;continue;printf;void chaxunchar a1;int i;printf;scanf;printf; iffori=0;iif90 & orderiprintf;else iffori=0;iif90 & orderiprintf;else if fori=0;iif90 & orderiprintf;elsefori=0;iif90 & orderiprintf;void mainshuru;paiming;output;chaxun;5、调试。八、实验结果实验三 文件合并一、实验要求将
8、两个文件中的数据合并至一个文件。有两个文件Afile和Bfile,各存放一行字母,今要求把这两个文件中的信息合并,输出到一个新文件Cfile中去。二、实验目的1、掌握指针、文件指针的概念。2、掌握文件操作的知识。3、进一步掌握软件开发的基本流程。三、预备知识1、C程序设计基础知识。2、软件实现基本流程。四、实验内容将两个文件中的数据合并至一个文件。五、程序清单请按照自己对程序设计需求的理解进行设计。程序框图实验步骤#include #include void Outputchar ch,t,str3100;int i=0,j,k;whilech=fgetc!=EOFstr3i = ch;i+;
9、forj=0;jfork=j+1;kifstr3kt= str3j;str3j = str3k ;str3k = t;forj=0;jprintf;mainFILE *fp1,*fp2,*fp3;char ch1100,ch2100,ch3100;char ch,str1100,str2100;printf;scanf;printf;scanf;printf;scanf;iffp1=fopen= NULLprintf;getchar;exit;printf;getchar;gets;fputs;printf;iffp2=fopen= NULLprintf;getchar;exit;printf
10、;getchar;gets;fputs;printf;fclose;fclose;if fp3 = fopen= NULL printf;getchar;exit;fp1=fopen;whilech = fgetc!= EOFfputc;fclose;fp2=fopen;whilech=fgetc!= EOFfputc;fclose;fclose;fp3=fopen;printf;Output;printf;实验结果实验四 链表基本操作一、实验要求完成单链表的建立、插入和删除操作。链表,就是用指针域链在一起的自引用结构 的线性集合。链表是通过指向链表第一个结点的指针访问的,其后的结点是通过前一
11、结点中的指针域访问的。在单链表中,数据域用来存储数据,指针域用来存储下一个结点的地址。建立单链表可以通过头插法完成,也可以通过尾插法完成。在单链表的第i 个元素前插入一个新的元素,先必须找到第i-1个元素、找到第i 个元素,然后新建一个节点,再进行相应的插入。从单链表中删除一个元素,先必须找到这个元素的前一个元素、找到这个元素,然后进行相应的删除,删除后的元素必须被释放掉内存。二、实验目的1、复习指针的概念。2、复习数据结构的有关基本知识。3、掌握链表的使用方法。三、预备知识1、C 程序设计基础知识。2、数据结构的有关基本知识。四、实验内容完成单链表的建立、插入和删除操作。五、程序清单1、定义
12、头文件,编写共用体结构体及主函数;2、在主函数中运用switch 以及do while 函数使程序可以循环调用子函数;3、编写子函数1:手动输入链表长度及链表中的数值建立链表;4、编写子函数2:从键盘输入需要查询的值,然后输出其所在的节点;5、编写子函数3:从键盘输入需要删除的节点,然后输出删除此节点后的链表;6、编写子函数4:从键盘输入需要添加数值的节点,从键盘输入要添加进去的数值,然后输出增加此节点数加1后添加数值的链表;7、从键盘输入0后推出程序。六、程序框图七、实验步骤1、可行性分析2、需求分析 34、编码实现#include #include#includestruct lian_n
13、odeint n; int num;struct lian_node*link;struct lian_node*Create_Lian_Doc; void SearchDoc_num; void InsertDoc; void DeleteDoc; void Print_Lian_Doc;int mainstruct lian_node*llist,*p;int n,num,choice;int size=sizeof;llist=Create_Lian_Doc;doprintf;printf;printf;printf;printf;printf;scanf;switchcase 0:br
14、eak;case 1:printf;scanf;13/21页SearchDoc_num;break;case 3:printf;scanf;printf;scanf;p=malloc;p-n=n+1;p-num=num;p-link=NULL;InsertDoc;break;case 2:printf;scanf;DeleteDoc;break;while ;return 0;struct lian_node*Create_Lian_Docint i,num,n;int size=sizeof;struct lian_node *llist,*tail,*p;llist=tail=NULL;p
15、rintf;scanf;printf;fori=1;ip=malloc;scanf;p-n=i;p-num=num;p-link=NULL;ifllist=p;else14/21页tail-link=p;tail=p;return llist;void SearchDoc_num struct lian_node *ptr;ifprintf;return;forlinkifnum=numprintfn;break;ifprintf;void InsertDoc int i=1;struct lian_node *ptr,*ptr1,*ptr2;ptr1=llist;ptr2=llist-lin
16、k;whilen!=n & ptr2!=NULLptr1=ptr2;ptr2=ptr2-link;ifn=np-link=ptr2;ptr1-link=p;elseprintf;forlinkptr-n=i;i+;Print_Lian_Doc;void DeleteDocstruct lian_node *ptr,*ptr1,*ptr2;int i=1;whilen=nptr2=llist;llist=llist-link;free;ifprintf;ptr1=llist;ptr2=llist-link;whileifn=nptr1-link=ptr2-link;free;elseptr1=p
17、tr2;ptr2=ptr1-link;forlinkptr-n=i;i+;Print_Lian_Doc;void Print_Lian_Docstruct lian_node*ptr;printf;forlinkprintfnum;printf;5、调试6、运行维护,完善文档八、实验结果实验五 约瑟夫环一一、实验要求编号为1,2,n 的n 个人按顺时针方向围坐一圈,每人持有一个密码 。一开始任选一个整数作为报数上限值m ,从第一个人开始顺时针自1顺序报数,报到m 时停止报数。报m 的人出列,将他的密码作为新的m 值,从他在顺时针方向上的下一个人开始重新从1报数,如此下去,直至所有的人全部出列为
18、止。试设计一个程序,求出出列顺序。要求利用单循环链表作为存储结构模拟此过程,按照出列顺序打印出各人的编号。例如m 的初值为20,n=7,7个人的密码依次是3,1,7,2,4,8,4,出列的顺序为6,1,4,7,2,3,5。请用链表完成。二、实验目的1、复习指针的概念。2、复习数据结构的有关基本知识。3、复习链表的使用方法。三、预备知识1、C 程序设计基础知识。2、数据结构的有关基本知识。四、实验内容用链表完成约瑟夫环的过程。五、程序清单请按照自己对程序设计需求的理解进行设计。六、程序框图开开 始输入人数输入人数每个人对应输入密码每个人对应输入密码形成链表形成链表按约瑟夫环输出出列顺序按约瑟夫环输出出列顺序结 结 束七、实验步骤1、可行性分析2、需求分析3、概要设计与详细设计含绘制流程图。4、编码实现#include #include typedef struct Nodeint Num;struct Node *next;JoseNode, *PNode, *HNode;int JoseInitif printf;return 0;18/21页-nex
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年软件评测师重难点复习试题及答案
- 消防车灭火器管理制度
- 电焊厂安全生产管理制度
- 买卖合同管理制度
- 软件评测师课程资源优化试题及答案
- 多元视角初级社会工作者考试试题及答案
- 文化安全危机管理制度
- 医院药材库管理制度
- 健全货币管理制度
- 开放思路的软件评测师考试试题及答案
- 2024年青海格尔木公开招聘社区工作者考试试题答案解析
- 四川省成都市青羊区2024年中考语文二模试卷(含答案)
- 2025届高考语文专题复习:散文内容要点概括分析散文形象 课件
- 《贵州省安全生产风险分级管控和隐患排查治理“双控”体系建设实施指南(2018年试行)》
- 教育数学概论知到智慧树章节测试课后答案2024年秋成都师范学院
- 2025“背锅”第一案!宁夏兴尔泰化工集团有限公司“12·2”事故调查报告课件
- 落地式脚手架专项施工方案
- 体彩代销者考试题及答案
- 2025-2030中国保安服务行业发展分析及发展趋势预测报告
- 四川省攀枝花市重点名校2025届中考联考生物试题含解析
- 百团进万企安全专题宣讲
评论
0/150
提交评论