C语言程序设计—函数—实验报告.doc
文本预览下载声明
实 验 报 告
专业 软 件 工 程 班级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;
显示全部