C语言设计实验报告_第1页
C语言设计实验报告_第2页
C语言设计实验报告_第3页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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)编写一个函数primeXum (int x),功能是判断一个数是否为素数。(2)输入三个整数,求最大值和最小值。intmin-a;inrmaxa;max-c;rerurnm i恂:returning%:(3)编写函数mu 1 Num (int at int b),它的功能是用来确定a和b是否是整数 倍的关系。如果a是b的整数倍,则函数返回值为1,否则函数的返回值为0。(4)编写两个函数,一个函数gcd()的功能是求两个整数的最大公约数,另 一个函数mul()的功能是求两个整数的最小公倍数。4源程序(1

3、)编写一个函数primeNum (int x),功能是判断一个数是否为素数。#include<stdio. h>void primeNum(int x)int i,k;if (x=0 i x=l)printf(H%d is not a prime numberrT,x); elsefor(i=2;i<=x/2;i+)if(x%i=0)k=0;if(k=0)printf(H%d is not a prime numbern”,x); elseprintf(H%d is a prime numberrT,x);void main()int m;printf C1请输入一个数:&q

4、uot;);scanf;primeXum(m);(2) 输入三个整数,求最大值和最小值。#includestdio. 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 xTy,z,m,n;printf (,r请输入三个数:");scanf("%d%d%

5、d", &x,&y,&z);n=getMin(x,ytz);printf (,r最大值是%dnm);printf (w最小值是%dn",n);(3) 编写函数mu 1 Num ( int a, int b),它的功能是用来确定a和b是否是整数 倍的关系。如果a是b的整数倍,则函数返回值为1,否则函数的返回值为0。#includestdio. h>int mulNum(int a,int b)if(a%b=O)return 1;elsereturn 0;main()int x,y,m;printfC1请输入两个整数:");scanf(&

6、quot;%d%d",&x,&y); mmulNumfx,y);if(m=l)printf ('r%d is a multiple of %dn,r, xT y); if (m0)printf(,r%d is not a multiple of %dn",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>=l;i

7、)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,ni,ri;printfC1请输入两个正整数:");scanf("%d%d",&a,&b);m=gcd(atb);n=mul(a,b,m); printf(,r最大公约数是:%dn最小公倍数是:%dn",m,n

8、);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运行结果素数判断求三个数中的最大最小值-nixF:Sr建文件夹Debug6-3-3. exe阳°F讥新建文件夹Debug6-3-3. exe 遍输入三扌、数:8 9 4 曇大值是9 巖小值是4Press an</ key to continue判断两个数是否

9、是倍数关系求两个数的最大公约数和最小公倍数c"F八新建文件夹 kDebug6-3-5.exe"10 15 continue哦- - V 正是是ke 个数数y 两约倍an 人公公S 筮八小eS 直翼Iprc *F:S建文件夹 Debug6-3-5. exe谆输人两个正整数:24 18 瞽犬公约薮是:6 巖小公倍数是:72P"ss any key to continue7出现问题及解决方法实验(1)要求函数类型为空值(void),不能有返回值,且要求在函数中输出是 否为素数;解决方法:if(x%i=0)k=0;if(k=O)printf(H%d is not a prime numberrT,x);elseprintf(H%d is a prime numberrT,x);实验(5)要求将最大公约数与两个整数一起作为实参传递给函数mul(),以此求出最小公倍数;解决方法: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;或者:int mul(int x,int y, int z)k=x*y/

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论