《C语言设计实验报告》由会员分享,可在线阅读,更多相关《C语言设计实验报告(9页珍藏版)》请在金锄头文库上搜索。
1、C语言程序设计实验报告1 实验目的(1)掌握函数的定义方法、调用方法、参数说明以及返回值;(2)掌握实参与形参的对应关系,以及参数之间的“值传递”的方式;(3)掌握函数的嵌套调用及递归调用的设计方法;(4)在编程过程中加深理解函数调用的程序设计思想。2 实验内容(1)编写一个函数primeNum(int x),功能是判断一个数是否为素数。(2)输入三个整数,求最大值和最小值。(3)编写函数mulNum(int a,int b),它的功能是用来确定a和b是否是整数倍的关系。如果a是b的整数倍,则函数返回值为1,否则函数的返回值为0。(4)编写两个函数,一个函数gcd( )的功能是求两个整数的最大
2、公约数,另一个函数mul( )的功能是求两个整数的最小公倍数。3 算法描述流程图(1)编写一个函数primeNum(int x),功能是判断一个数是否为素数。(2)输入三个整数,求最大值和最小值。(3)编写函数mulNum(int a,int b),它的功能是用来确定a和b是否是整数倍的关系。如果a是b的整数倍,则函数返回值为1,否则函数的返回值为0。(4)编写两个函数,一个函数gcd( )的功能是求两个整数的最大公约数,另一个函数mul( )的功能是求两个整数的最小公倍数。4 源程序(1)编写一个函数primeNum(int x),功能是判断一个数是否为素数。#includevoid pri
3、meNum(int x)int i,k;if(x=0|x=1)printf(%d is not a prime numbern,x);else for(i=2;i=x/2;i+)if(x%i=0)k=0; if(k=0) printf(%d is not a prime numbern,x); else printf(%d is a prime numbern,x);void main()int m;printf(请输入一个数:);scanf(%d,&m); primeNum(m);(2)输入三个整数,求最大值和最小值。#includeint getMax(int a,int b,int c)
4、int max=a;if(bmax)max=b;if(cmax)max=c;return max;int getMin(int a,int b,int c)int min=a;if(bmin)min=b;if(cmin)min=c;return min;main()int x,y,z,m,n;printf(请输入三个数:);scanf(%d%d%d,&x,&y,&z); m=getMax(x,y,z);n=getMin(x,y,z);printf(最大值是%dn,m);printf(最小值是%dn,n);(3)编写函数mulNum(int a,int b),它的功能是用来确定a和b是否是整数倍
5、的关系。如果a是b的整数倍,则函数返回值为1,否则函数的返回值为0。#includeint mulNum(int a,int b)if(a%b=0)return 1;elsereturn 0;main()int x,y,m;printf(请输入两个整数:);scanf(%d%d,&x,&y); m=mulNum(x,y);if(m=1)printf(%d is a multiple of %dn,x,y);if(m=0)printf(%d is not a multiple of %dn,x,y);(4)编写两个函数,一个函数gcd( )的功能是求两个整数的最大公约数,另一个函数mul( )的
6、功能是求两个整数的最小公倍数。#includeint gcd(int x,int y)int t,i;t=x=1;i-)if(x%i=0&y%i=0)break; return i;int mul(int x,int y, int z)int t,k;t=xy?x:y;for(k=t;ky?x:y;for(k=t;k=x*y;k+)if(k%x=0&k%y=0)break;return k;没有用到变量z。或者:int mul(int x,int y, int z) k=x*y/z; return k;实验中我采取了第一种方法,但第二种方法较为简单,因为最初不知道 最小公倍数=两个整数乘积再除以最大公约数8 实验心得 通过本次实验,更加熟练地掌握了函数的定义与调用,函数参数和返回值的使用方法;并练习了循环结构和条件控制语句的用法;对函数调用的程序设计思想加深了理解。