c语言设计一个函数返回两整数之和,C语言设计方案编写函数,求取两个整数m,n最大公约数和最小公倍数.doc...

本文介绍了如何用C语言编写函数计算两个整数的最大公约数和最小公倍数,同时展示了如何设计一个班级通讯录管理系统的程序,包括链表操作和功能模块。通过实例演示了输入验证、链表操作和文件管理功能。

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;

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值