C语言实验报告-函数(1400字)
华北水院高级语言程序设计(C语言)实验报告(五) 2021--2021学年第二学期
……………………………………………………………………………………………… 2021级专业:学号:姓名:
一、实验题目:函数
二、实验目的:(略)
三、实验内容
1. 程序验证(略)
2.程序设计
1) 编程实现求两个正整数的最大公约数,要求计算最大公约数用函数fun(int a,int b)实现。
源代码:
#include stdio.h
#include string.h
#define N 100//这个N就是限定范围用的,大小自己可以直接改,暂定a 和b在100以内
fun(int a,int b)
{
int i,j=0,max=0,n[N];
for(i=1;iN;i++)
{
if((a%i==0)(b%i==0))
{
n[j]=i;
j+=1;
}
else;
}
for(i=0;ij;i++)
{ for(j=0;jN;j++)
if(maxn[j])
max=n[j];
}
printf(%d\n,max);
第1页共4页
}
void main()
{
int a,b;
printf(input two data please: );
scanf(%d%d,a,b);
fun(a,b);
}
运行结果:
2) 编程实现打印出2~n之间的所有素数,要求判断素数过程用自定义函数实现。源代码: #includestdio.h
#define n 100//此处n值可随意更改
void main()
{
int i,j;
for(j=2;j=n;j++)
{
for(i=2;j%i;i++);
if(i==j)
printf( %d,i);
}
putchar(‘ \n’);
}
运行结果:
第2页共4页
3) 编写函数fun(int t),它的功能是:求斐波那契数列中大于t的最小的一个数,结果由函数返回。其中斐波那契数列f(n)的定义为:
f(1)=1, f(2)=1
f(n)= f(n-1)+ f(n-2) (n2)
例如:当t=1000时,函数值为:1597。
源代码:
#include stdio.h
fun(int t)
{
int f[1000],n=3;
f[1]=1;
f[2]=1;
do
c语言斐波那契数列{
f[n]= f[n-1]+ f[n-2];
n+=1;
}while(f[n-1]t);
return f[n-1];
}
第3页共4页
void main()
{
int t;
printf(input n please: ); scanf(%d,t);
printf(t=%d,fun(t)=%d\n,t,fun(t)); }
运行结果:
第4页共4页
第二篇:C语言实验四实验报告——函数 5600字
一、实验项目名称
函数
二、实验目的
1.掌握C函数的定义方法、函数的调用方法、参数说明以及返回值。掌握实参与形参的对应关系以及参数之间的“值传递”的方式;掌握函数的嵌套调用及递归调用的设计方法;
2.掌握全局变量和局部变量、动态变量与静态变量的概念和使用方法;
3.在编程过程中加深理解函数调用的程序设计思想。
三、实验内容
1.多模块的程序设计与调试的方法;
2.函数的定义和调用的方法;
3.用递归方法进行程序设计。
具体内容:
1.编写一个函数primeNum(int num),它的功能是判别一个数是否为素数。如果num是素数,返回该数;否则返回0值。
要求:
(1)在主函数输入一个整数num,调用该函数后,输出num是否是素数的信息。输出格式为:num is prime或num is not prime。
(2)分别输入以下数据:0,1,2,5,9,13,59,121,运行程序并检查结果是否正确。
2.编写函数putNum( int num),它的功能是计算任意输入的一个正整数的各位数字之和,结果由函数返回(例如:输入数据是123,返回值为6)。
要求: num由主函数输入,调用该函数后,在主函数内输出结果。
3.编写函数,mulNum(int a,int b),它的功能是用来确定a和b是否是整数倍的关系。如果a是b的整数倍,则函数返回值为1,否则函数返回值为0。
要求:
(1)在主函数中输入一对数据a和b,调用该函数后,输出结果并加以相应的说明。例如:在主函数中输入:10,5 ,则输出:10 is multiple of 5.(2)分别输入下面几组数据进行函数的正确性测试:1与5、5与5、6与2、6与4、20与4、 37与9等,并对测试信息加以说明。
4.编写一个计算组合数的函数binNum(int m,int n)。计算结果由函数返回。计算组合数的公式是:
c(m,n)=m!/(n!*(m-n)!)
要求:
(1)从主函数输入m和n的值。对mn、mn和m=n 的情况作分别处理后调用函数binNum(m,n),在主函数内输出结果值。
(2)对mn、mn和m=n 的情况各取一组数据进行测试,检查程序的正确性。
(3)修改程序,把两个函数分别放在两个程序文件中,作为两个文件进行编译、链接和运行。
5.整数a,b的最大公约数是指既能被a整除又能被b整除的最大整数。整数a,b的最小公倍数是指既是a的倍数又是b的倍数的最小整数。编写两个函数,一个函数gcd()的功能是求两个整数的最大公约数,另一个函数mul()的功能是求两个整数的最小公倍数。
要求:
(1)两个整数在主函数中输入,并在主函数中输出求得的最大公约数和最小公倍数。
(2)首先将两个整数a和b作为实参传递给函数gcd(),求出的最大公约数后,由函数gcd()带值返回主函数,然后将最大公约数与两个整数a、b一起作为实参传递给函数mul(),以此求出最小公倍数,再由函数mul()带值返回主函数。
(3)修改函数gcd(),函数gcd()采用递归调用的编写方法,两个整数a 和b的最大公约数的递归公式是:
如果b=0,那么gcd(a,b)=x,否则gcd(a,b)= gcd(b,a%b)。然后将最大公约数与两个整数a、b一起传递给函数mul(),求出最小公倍数,再由
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论