资源描述:
《c语言课程设计 编写函数,求取两个整数m,n的最大公约数和最小公倍数》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、C程序设计课程设计报告C语言课程设计专业:电气工程及其自动化班级:电气11姓名:学号:指导教师:评语:平时(40)修改(30)报告(30)总成绩兰州交通大学自动化与电气工程学院2012年7月6日-13-C程序设计课程设计报告1基本题目1.1题目编写函数,求取两个整数m,n的最大公约数和最小公倍数。1.2题目分析图1程序流程图1.3程序#includeintmax(inta,intb);-13-C程序设计课程设计报告intmain(){printf("请输入两个整数");intm,n,p;s
2、canf("%d%d",&m,&n);p=m*n;printf("最大公约数为:%d最小公倍数为:%d",max(m,n),p/max(m,n));return0;}intmax(inta,intb){intc;while(a!=b){if(a#includemain(){inti=0,j;charch;while((ch
3、=getch())!='r'){i++;-13-C程序设计课程设计报告printf("%c",ch);}printf("youtype%dcharacters",i);}2.2程序运行结果图3正确程序运行结果3综合题目3.1题目综合题目为:《班级通讯录》。3.2数据结构对上述题目进行分析,定义结构体数据结构如下:structPerson{charname[10];//姓名charnum[15];//号码charage[8];//年龄charadds[20];//住址structPerson*next;
4、};3.3程序的主要功能通过该系统实现对通讯录信息进行录入、显示、修改、删除、排序、保存等操作的管理。本系统采用链表的方式动态储存每个数据,每个数据结构包括姓名,电话号码,年龄,地址,还有指向下一结构体的地址。本系统显示这样的菜单:1.新建联系人;2.打开文件;3.保存联系人;4.显示联系人;5.查找,删除联系人;0.退出程序;-13-C程序设计课程设计报告图3主函数流程图3.4各函数的功能(1)inputs_first()-13-C程序设计课程设计报告该函数用来创建第一个结构体,创建第一个内存单元,并写入
5、其中的数据;(2)inputs_next()该函数用来新建非第一个结构体,创建一个内存单元,写入数据到其中并使得各个结构体之间能够单项链接;(3)prin()此函数用来打印内存中链表内各内存单元内的数据到屏幕上,起到显示数据的作用;(4)creat()此函数用来保存链表内数据到硬盘上,保存的标题提供两种方式,一个是保存到默认文件,另一个是保存到自己命名的文件上。所保存的文件可以用记事本等软件打开,并可以显示所有联系人信息;(5)open()此函数用来打开文件。既可以把文件的信息显示到屏幕上,而且可以把文件的
6、联系人信息输入到内存中形成链表,可供编辑。此函数也提供两种打开文件的方式,一是打开默认文件,另一个是打开自己输入的文件;(6)look_up()此函数用来查找和删除文件。此函数提供三种查找方式,第一是名字查找,第二是电话号码查找,第三是地址查找。查找到联系人并显示信息之后,可选择是否删除联系人。3.5源程序#include#include#defineLENsizeof(structPerson)#includestructPerson{charna
7、me[10];//姓名charnum[15];//号码charage[8];//年龄charadds[20];//住址structPerson*next;};intn=0;structPerson*head;structPerson*p1,*p2;structPerson*inputs_first(void)//创建首个联系人{charch;p1=p2=(structPerson*)malloc(LEN);-13-C程序设计课程设计报告head=p1;printf("请输入姓名:");scanf("%s
8、",p1->name);printf("请输入号码:");scanf("%s",p1->num);printf("请输入年龄:");scanf("%s",p1->age);printf("请输入地址:");scanf("%s",p1->adds);ch=getchar();p1->next=NULL;n=1;return(head);system("pause");}structPerson*inputs_n