C语言设计实验报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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( )的功能是求两个整数的最大公约数,另一个函数mul( )的功能是求两个整数的最小公倍数。

3算法描述流程图

(1)编写一个函数primeNum(int x),功能是判断一个数是否为素数。

(2)输入三个整数,求最大值和最小值。

倍的关系。如果a是b的整数倍,则函数返回值为1,否则函数的返回值为0。

(4)编写两个函数,一个函数gcd( )的功能是求两个整数的最大公约数,另一个函数mul( )的功能是求两个整数的最小公倍数。

4源程序

(1)编写一个函数primeNum(int x),功能是判断一个数是否为素数。

#include<stdio.h>

void primeNum(int x)

{

int i,k;

if(x==0||x==1)

printf("%d is not a prime number\n",x);

else

{

for(i=2;i<=x/2;i++)

if(x%i==0)

k=0;

if(k==0)

printf("%d is not a prime number\n",x);

else

printf("%d is a prime number\n",x);

}

}

void main()

{

int m;

printf("请输入一个数:");

scanf("%d",&m);

primeNum(m);

}

(2)输入三个整数,求最大值和最小值。

#include<stdio.h>

int getMax(int a,int b,int c)

{

int max=a;

if(b>max)

max=b;

if(c>max)

max=c;

return max;

}

int getMin(int a,int b,int c)

{

int min=a;

if(b<min)

min=b;

if(c<min)

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("最大值是%d\n",m);

printf("最小值是%d\n",n);

}

(3)编写函数mulNum(int a,int b),它的功能是用来确定a和b是否是整数倍的关系。如果a是b的整数倍,则函数返回值为1,否则函数的返回值为0。

#include<stdio.h>

int mulNum(int a,int b)

{

if(a%b==0)

return 1;

else

return 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 %d\n",x,y);

if(m==0)

printf("%d is not a multiple of %d\n",x,y);

}

(4)编写两个函数,一个函数gcd( )的功能是求两个整数的最大公约数,另一个函数mul( )的功能是求两个整数的最小公倍数。

#include<stdio.h>

int gcd(int x,int y)

{

int t,i;

t=x<y?x:y;

for(i=t;i>=1;i--)

{

if(x%i==0&&y%i==0)

break;

}

return i;

}

int mul(int x,int y, int z)

{

int t,k;

t=x>y?x:y;

for(k=t;k<=x*y;k++)

{

if(k%x==0&&k%y==0)

break;

}

return k;

}

main()

{

int a,b,m,n;

printf("请输入两个正整数:");

scanf("%d%d",&a,&b);

m=gcd(a,b);

n=mul(a,b,m);

printf("最大公约数是: %d\n最小公倍数是: %d\n",m,n);

}

5测试数据

素数判断:0,1,2,5,9,13,59,121;

求三个数中的最大最小值:4 ,8 ,9;8,4,9;8,9,4;

判断两个数是否是倍数关系:1与5,5与5,6与2,6与4,20与4,37与9 。

求两个数的最大公约数和最小公倍数:10和15;24和18;12和24;

6运行结果

素数判断

相关文档
最新文档