C语言设计方案编写函数,求取两个整数m,n最大公约数和最小公倍数
C语言课程设计
专 业:电气工程及其自动化
班 级: 电气11
姓 名:
学 号:
指导教师:
评语:
平时(40)修改(30)报告(30)总成绩
兰州交通大学自动化与电气工程学院
2012 年 7月 6日
图1 程序流程图
1.3 程序
# include
int max(int a,int b);
int main()
{
printf("请输入两个整数");
int m,n,p;
scanf("%d%d",&m,&n);
p=m*n;
printf("最大公约数为:%d最小公倍数为:%d\n",max(m,n),p/max(m,n));
return 0;
}
int max(int a,int b)
{
int c;
while (a!=b)
{if(a
{
c=a;
a=b;
b=c;
}
a=a-b;}
return b;
}
1.4 程序的运行结果
图2 基本题目运行结果
2 改错题目
2.1 改正后程序
#include
#include
main()
{
int i=0,j;
char ch;
while((ch=getch())!='\r')
{
i++;
printf("%c",ch);
}
printf("you type %d characters\n",i);
}
2.2 程序运行结果
图3 正确程序运行结果
3 综合题目
3.1 题目
综合题目为:《班级通讯录》struct Person
{
char name[10]; //姓名
char num[15]; //号码
char age[8];//年龄
char adds[20];//住址
struct Person *next;
};
3.3 程序的主要功能
通过该系统实现对通讯录信息进行录入、显示、修改、删除、排序、保存等操作的管理。
本系统采用链表的方式动态储存每个数据,每个数据结构包括姓名,电话号码,年龄,地址,还有指向下一结构体的地址。
本系统显示这样的菜单:
1.新建联系人;
2. 打开文件;
3. 保存联系人;
4. 显示联系人;
5. 查找,删除联系人;
0. 退出程序;
图3 主函数流程图
3.4 各函数的功能
(1) inputs_first()
该函数用来创建第一个结构体,创建第一个内存单元,并写入其中的数据;
(2) inputs_next()
该函数用来新建非第一个结构体,创建一个内存单元,写入数据到其中并使得各个结构体之间能够单项链接;
(3) prin()
此函数用来打印内存中链表内各内存单元内的数据到屏幕上,起到显示数据的作用;
(4 )creat()
此函数用来保存链表内数据到硬盘上,保存的标题提供两种方式,一个是保存到默认文件,另一个是保存到自己命名的文件上。所保存的文件可以用记事本等软件打开,并可以显示所有联系人信息;
(5 )open()
此函数用来打开文件。既可以把文件的信息显示到屏幕上,而且可以把文件的联系人信息输入到内存中形成链表,可供编辑。此函数也提供两种打开文件的方式,一是打开默认文件,另一个是打开自己输入的文件;
(6) look_up()
此函数用来查找和删除文件。此函数提供三种查找方式,第一是名字查找,第二是电话号码查找,第三是地址查找。查找到联系人并显示信息之后,可选择是否删除联系人。
3.5 源程序
#include
#include
# define LEN sizeof(struct Person)
# include
struct Person
{
char name[10]; //姓名
char num[15]; //号码
char age[8];//年龄
char adds[20];//住址
struct Person *next;
};
int n=0;
struct Person *head;
struct Person *p1,*p2;
struct Person *inputs_first(void)//创建首个联系人
{ char ch;
p1=p2=(struct Person *) malloc(LEN);
head=p1;
本文介绍了如何用C语言编写函数计算两个整数的最大公约数和最小公倍数,同时展示了如何设计一个班级通讯录管理系统的程序,包括链表操作和功能模块。通过实例演示了输入验证、链表操作和文件管理功能。
2200

被折叠的 条评论
为什么被折叠?



