C语言实践课程综合大作业

发布 2022-07-04 09:21:28 阅读 1416

昆明理工大学。

程序设计基础》课程。

综合设计实践教学课题报告。

课程名称: c语言程序设计综合大作业。

课题名称:数学计算工具程序设计。

组长:学号

昆明理工大学。

程序设计基础》课程。

综合设计实践教学课题报告。

课程名称: c语言程序设计综合大作业。

课题名称:数学计算工具程序设计。

组长:学号 201310401344 姓名钟伦赋

组员:学号 201310401321 姓名朱潘伟。

学号 201310401309 姓名陆光道。

学院: 信息工程与自动学院专业班级: 自动化133

指导教师: 郑明雄

昆明理工大学计算中心。

2023年5 月日。

填写格式及说明。

1、 系统概述

(一)功能概述。

主函数:大概思路:显示界面并提示选择功能函数→判断选择的正确性→调用所选功能函数→选择是否继续调用当前功能函数→判断选择的正确性→返回主菜单继续运行。

1) 实现主函数完成选项菜单集成各个计算功能函数;

2) 实现求任意数的阶乘;

3) 实现求组合数;

4) 实现求任意两个整数的最大公约数和最小公倍数;

5) 实现判断任意数是否素数;

6) 实现显示菲波拉契数列的前n项。

各功能函数的数据输入形式和范围在显示界面上有适当提示,基输入出错或超出范围则提示重新输入。所输出的数据仅在屏幕上显示,不作保存。。

本程序的优点在于多处使用循环结构控制程序运行方向,根据需求轻松实现循环调用各功能函数。此程序没什么大的难点,而循环结构却成为本程序主函数的一大亮点。如用do-while 循环结构,或判断所输入的字符是否为所要求输入的字符,或反复调用正在运行的功能函数,或返回主菜单继续运行。

整个主函数被囊括在一个大的do-while 循环结构当中,使其实现不断循环,其中借助getchar语句实现运行的停顿。因而每个getchar语句既起到了录入字符的作用又起到了运行停顿的作用,当用户一输入数据时,程序便可立刻运行,快捷完成其功能,而不需要重新启动程序。本程序利用菜单显示提供了较好的人机交互界面。

二)算法概述:

从主菜单中选择相对应的数字,使程序进入不同的程序模块,用switch实现其功能,程序共分为五个模块,分别为:主函数、jicheng( )函数(求阶乘)、comb( )函数(求组合数)、qiubeishu ( 函数(求最小公倍数和最大公约数)、qiusushu( )函数(求素数)、fibonacci( )函数(求菲波拉契数列)、 remenu() 函数(返回主菜单) 各函数主要算法见个流程图。

2、数据结构设计。

1、 数据的定义:主要定义了int、ouble 、#define max 48char 、unsigned long int

2、 数据的输出形式:%d(整形)

三、 模块设计。

1、说明。用for循环求由实参传给形参的数。

用do-while循环。

switch函数实现功能的选择。

调用fibonacci数列函数。

2、功能要求及分工:各计算功能单独编写成函数,在主函数中通过选项菜单调用函数。主函数完成选项菜单集成各个计算功能函数;

7) 求任意数的阶乘;

8) 求组合数;

9) 求任意两个整数的最大公约数和最小公倍数;

10) 判断任意数是否素数;

11) 显示菲波拉契数列的前n项。

各功能函数的数据输入形式和范围在显示界面上有适当提示,基输入出错或超出范围则提示重新输入。所输出的数据仅在屏幕上显示,不作保存。

3、程序的控制流程入下图所示。nn

1 y 2 y y 4 y 5

yyn n n4.调试运行及操作说明。

一)、调试。

错误:原因:在输出语句printf()中格式控制输出的输出了类型写错了将%f写成了%d,导致数据丢失才会导致这个错误。

void comb()

int m,n;

double result,a,b,c;

do {scanf("%d%d",&m,&n

while(m>n

result=a/(b*c

printf("所要求的组合数为=%d",result);

改正:printf("所要求的组合数为=%"result);

二)、程序测试。

1、菜单界面。

/菜单主界面组员共同设计//

2、求阶乘://本人设计。

求阶乘和组合数的部分是由我完成的,首先定义自定义求阶乘函数,然后写入**实现功能,**如下:

double jiecheng(t用户自定义一个函数,用来求任意数的阶乘。

int t;

{ int i; double sum=1;

for(i=1;i<=t;i用for循环求由实参传给形参的数。

sum=sum*i;

return(sum返回函数值。

3、求组合数://本人设计。

求组合数:根据上面求阶乘函数完成,首先自定义求组合数函数comb( )在编写**实现其功能,其中在求组合数函数中调用了上面jiecheng()函数,其**如下:

void comb()

int m,n;

double result,a,b,c;

do {printf("输入m和n的值,用空格分隔(m<=n),并回车确认:");

//用do循环判断当m scanf("%d%d",&m,&n输入m,n的值。

while(m>n判断当m>n时,循环继续,直到m a=jiecheng(n);b=jiecheng(m);c=jiecheng(n-m);

result=a/(b*c调用下面定义的函数进行组合数运算。

printf("所要求的组合数为=%"result);

4、求任意整数的最小公倍数和最大公约数:

//以下另外四个功能函数都是其他组员完成。

5、判断任意数是否是素数:

6、显示菲波拉契数列的前n项:

7、退出程序:

五、程序清单(程序源**):

/综合大作业。

#include "文件包含。

#include ""

#include ""

char d,h定义全局字符变量。

*功能函数:求任意数的阶乘*/

double jiecheng(t用户自定义一个函数,用来求任意数的阶乘。

int t;

{ int i;

double sum=1;

for(i=1;i<=t;i用for循环求由实参传给形参的数。

sum=sum*i;

return(sum返回函数值。

/*功能函数:求组合数*/

void comb()

int m,n;

double result,a,b,c;

do {printf("输入m和n的值,用空格分隔(m<=n),并回车确认:");用do循环判断当m scanf("%d%d",&m,&n输入m,n的值。

while(m>n); 判断当m>n时,循环继续,直到m

C语言实践课程综合大作业

昆明理工大学。程序设计基础 课程。综合设计实践教学课题报告。课程名称 c语言程序设计综合大作业。课题名称 数学计算工具程序设计。组长 学号 4 姓名钟伦赋 组员 学号 1 姓名朱潘伟。学号 9 姓名陆光道。学院 信息工程与自动学院专业班级 自动化133 指导教师 郑明雄 昆明理工大学计算中心。201...

C语言实训作业

c语言通识教育 实训指导书。实训课 2学时 指导教师 何天成。2016年月日。c 语言是现代最流行的通用程序设计语言之一,它既具有高级程序设计语言的优点,又具有低级程序设计语言的特点,既可以用来编写系统程序,又可以用来编写应用程序。因此,c 语言正在被迅速地推广和普及。上机实验是该课程教学的一个重要...

c语言实践报告心得

在初学c语言的一个学期后,我们进行了c语言实训阶段,尝试编写一个比较复杂的程序系统。引导语 参加完c语言的实训后,怎样写一篇实践报告?接下来是小编给大家收集整理的文章,欢迎阅读!c语言实践报告心得 一 在初学c语言的一个学期后,我们进行了c语言实训阶段,尝试编写一个比较复杂的程序系统。在为期一周的时...