C语言程序设计综合实践性教学课题报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
昆明理工大学
《程序设计基础》课程
综合设计实践教学课题报告课程名称:C程序设计基础课题名称:数学计算函数集成
学号: 201110402140
姓名:臧庆航
学院:信息工程与自动化学院
班级:测控技术与仪器111班
教师:付湘琼
昆明理工大学计算中心
2012 年 6 月 4 日
《程序设计基础》课程综合设计实践教学课题报告要求
第一部 系统概述:
一、程序功能:
在学习的过程中我们会遇到各种各样的数学问题,有些复杂的数学问题,如果要计算的话会耗费我们大量的时间,而且容易出错。该程序就是用来解决这些数学问题的,它从程序中选择需要的函数输入数据就可以很快的解决这些数学问题。
二、程序算法:
从主菜单中选择对应的函数,进入不同的程序,有swich 语句实现其功能。程序分为四步:主函数、子函数、输入、输出。
第二部分 程序构成
一、 函数定义:
程序定义了七个子函数:
(1)求任意数的阶乘积
(2)求任意数的累加和。
(3)求任意正整数的N 次方。
(4)求任意两个整数的最大公约数
(5)求任意两个数的最小公倍数
(6)判断任意数是否是素数
(7)输出菲波拉契数列的前N 项
二、主函数流程图
选择函数
进入子函数
计算 输出结果
阶乘积 累加和 N 次方 最大公约 主函数
最小公倍
素数 菲波
拉契
数列
第三部分调试运行及操作说明
一、调试
二、测试数据:包括正确的输入及其输出结果和含有错误的输入及其输出结
果。输出结果直接抓取屏幕图像粘贴到报告中。
5、程序代码
#include
int jcj(int x)
{
int i;
int result;
if(x==1||x==0)
{
return(1);
}
else
for(i=x;i>=1;i--)
result*=i;
return(result);
}
int ljh(int x)
{
int sum=0;
int i;
for(i=1;i<=x;i++)
{
sum=sum+i;
}
return(sum);
}
ncf(int x,int y)
{
long sum=1;
int i;
for(i=1;i<=y;i++)
{
sum*=x;
}
return(sum);
}
int gymax(int x, int y)
{
int i;
for(i=(x
{
if(x%i==0 && y%i==0)
{
return(i);
break;
}
}
}
int gbmin(int x, int y)
{
int i;
for(i=(x>y)?x:y;i!=0;i++)
{
if(i%x == 0&&i%y == 0)
{
return(i);
break;
}
}
}
void ss(int n)
{
int count=0;
int i=0;
for(i=2;i { if(n%i==0) break; else count++; } if(count==(n - 2)) printf("该数是素数!"); else printf("该数不是素数!"); } int fblqe(int n) { if(n==1) return 1; if(n==2) return 1; if(n>2) return fblqe(n-1)+fblqe(n-2); else return 0; } void main() { int choose; int a,b,i; printf("请选择你想要计算的函数:\n"); printf("--------1.求任意数的阶乘积--------\n"); printf("--------2.求任意数的累加和--------\n"); printf("--------3.求任意正整数的N次方--------\n"); printf("--------4.求任意两个整数的最大公约数--------\n"); printf("--------5.求任意两个整数的最小公倍数--------\n"); printf("--------6.判断任意数是否是素数--------\n"); printf("--------7.输出菲波拉契数列的前N项--------\n"); printf("选择函数为:"); scanf("%d",&choose); switch(choose) { case 1: printf("请输入上限:"); scanf("%d",a); printf("结果是:%d",jcj(a)); printf("\n"); break; case 2: printf("请输入上限:"); scanf("%d",a); printf("结果是:%d",ljh(a)); printf("\n"); break;