文档详情

C语言程序设计—函数—实验报告.doc

发布:2016-12-08约5.49千字共11页下载文档
文本预览下载声明
实 验 报 告 专业 软 件 工 程 班级X 班 学号_ XXXXXXXXXXX_ 姓名实验日期:201X年X月X日报告退发 (订正 、 重做)课程C程序设计实验实验名称函数一、实验目的 熟练掌握C程序中函数的定义; 掌握函数的调用,函数参数的传递; 熟练掌握函数的嵌套调用和递归调用; 二、实验环境(描述实验的软件、硬件环境) 软件环境:windows xp/win7等操作系统,Microsoft Visual C++ 6.0编译器; 硬件环境:PC机一台 三、实验内容、步骤和结果分析 题目一:编写一个用来判断质数(素数)的函数。 要求: (1)在main函数中调用该函数对输入的数值进行判断,并输出判断结果; (2)当输入数值=1时,停止输入和判断。 #includestdio.h #includemath.h /*=======判断质数(素数)的函数=======*/ int judgePrime(int n) { for(int i=2;i=sqrt(n);i++)//一个数n如果是合数,那么它的所有的因子不超过n的开方 { if(n%i==0)return 0; else continue; } return 1; } /*=======判断质数(素数)的函数=======*/ int main() { printf(\n提示:输入一个数字来判断是否是质数(素数),当输入数值=1时,停止输入和判断。\n\n); for(int num=2,temp;num1;) { printf(Please enter a number:); scanf(%d,num); if(num=1)break;//当输入数值=1时,停止输入和判断 temp=judgePrime(num); if(temp==0)printf(%d is not a prime numner!\n\n,num); else printf(%d is a prime numner!\n\n,num); } return 0; } 题目二:使用习题1中所编写的判断质数的函数验证哥德巴赫(Goldbach)的1+1猜想-----任何一个=6的偶数都可以表示成两个素数之和 要求: 屏幕提示用户一个=6的偶数; 输出这个偶数等于2个素数之和的表达式; 当输入数据6或者不是偶数时,停止输入和验证。 #includestdio.h #includemath.h /*=======判断质数(素数)的函数=======*/ int judgePrime(int n) { for(int i=2;i=sqrt(n);i++)//一个数n如果是合数,那么它的所有的因子不超过n的开方 { if(n%i==0)return 0; else continue; } return 1;//true--1,false--0 } /*=======验证哥德巴赫猜想的函数(调用judgePrime)=======*/ int proveGoldbach(int m) { if(m6||m%2!=0) return 0;//判断是否大于等于6或者不是偶数 for(int j=2;j(m/2);j++) { if(judgePrime(j)==1judgePrime(m-j)==1)//判断两数是否都等于质数 {printf(\t%d = %d + %d\n,m,j,m-j); } } } int main() { printf(\n提示:输入一个偶数来验证哥德巴赫猜想,当输入数值6时,停止输入和判断。\n\n); for(int num=6;num=6;) { int temp; printf(Please enter a number:); scanf(%d,num); temp=proveGoldbach(num); if(temp==0)//当输入小于6或者不是偶数时结束return 0; printf(================================================================================); } } 题目三:编写一个求阶乘的函数,接着调用该函数实现组合的求解 要求: 提示用户输入n和m的数值; 输出的结果 #includestdio.h /*=======阶乘函数=======*/ int fac(int n) { int f; if(n0) printf(n0,data error!); else if(n==0||n==1) f=1;
显示全部
相似文档