C程序设计上机实验报告6_第1页
C程序设计上机实验报告6_第2页
C程序设计上机实验报告6_第3页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

1、C程序设计实验报告实验名称:函数程序设计学时安排:2学时实验类别:上机操作型实验要求:1人1组一、实验目的1. 熟练掌握函数的定义和调用;2. 熟练掌握使用函数编写程序;3. 掌握函数的实参、形参和返回值的概念及使用;4. 掌握单步调试进入函数和跳出函数的方法。、实验设备介绍软件需求:Visual C+ 6.0 或CFree3.5以上版本硬件需求:对于硬件方面的要求,建议配置是Pentium III 450 以上的CPU处理器,64MB以上的内存,200MB的自由硬盘空间、CD-ROM 驱动器、能支持24位真彩色的显示卡、彩色显示器、打印机。三、实验内容1. 输入x,计算并输出分段函数sign

2、(x)的值。要求定义和调用函数sign(x)实现该分段函数。x大于、等于和小于0时sign(x)的值分别为1、0和-1。输入输出示例如下(运行三次):Enter x : 10Enter x: 0Enter x: -5sig n(10)=1sig n(0)=0sig n(-5)=-12. 给定平面任意两点坐标(x1,y1)和(x2,y2),求这两点之间的距离(保留两位小数)。要求定义和调用函数dist(x1,y1,x2,y2)计算两点间的距离。输入输出示例如下:In put(x1,y1): 1010In put(x2,y2): 200100dista nee = 210.243. 输入2个正整数

3、a和n,求a+aa+aaa+aa?a(n个a)之和。要求定义并调用函数fn(a,n),它的功能是返回aa?a(n个a)。例如,fn(3,2)的返回值是33。例:括号内是说明Enter a and n: 8_5 (a=8, n=5)sum=98760 (8+88+888+8888+88888)4. 输入2个正整数m和n(1<=m, n<=500),统计并输出 m和n之间的素数的个数以及这些素数的和。要求定义并调用函数prime(m)判断m是否为素数。例:括号内是说明En ter m and n: 110. (m=1, n=10)count=4, sum=17 (1 到 10 之间有

4、4 个素数:2,3,5,7)Enter m and n: 14一16 (m=14, n=16,这里是第二次运行 )count=0, sum=0 (14到16之间没有素数)5. 输入2个正整数m和n(1<=m,n<=1000),输出m到n之间的所有完数(完数就是因子和与它本身相等的数)。要求定义并调用函数 factorsum(number),它的功能是返回number的 因子和。例如,digitsum(12)的返回值是16( 1+2+3+4+6 )。输出语句:printf("%d ", i);例:括 号内是说明(运行两次)Enter m and n: 20500

5、(m=20, n=500)28 496Enter m and n: 1100 (m=1, n=100)1 6 286. 输入1个正整数n,将其转换为二进制后输出。要求定义并调用函数dectobin(n),它的功能是输出 n的二进制。例如,调用dectobin(10),输出1010。输出语句:printf("%d");例:括号内是说明(运行两次)En ter n: 00Enter n: 100 1100100四、程序清单 第一题#i nclude<stdio.h> int sig n(i nt n ,i nt x) if(x>0)n=1;else if(x=

6、0)n=0;elsen=-1;return n;int main()int i,s;int sig n(i nt n ,i nt x);prin tf("E nter x:");scan f("%d",&i);s=sig n(s,i);prin tf("sig n(%d)=%dn",i,s); return 0;第二题#i nclude<stdio.h> #in clude<math.h> double dist(double x1,double y1,double x2,double y2) doub

7、le d,j,k;j=pow(x2-x1),2);k=pow(y2-y1),2);d=sqrt(j+k);return d;int main()double x1,y1,x2,y2,distance;printf("Input(x1,y1):");scanf("%lf%lf",&x1,&y1);printf("Input(x2,y2):");scanf("%lf%lf",&x2,&y2); distance=dist(x1,y1,x2,y2); printf("distan

8、ce=%.2fn",distance); return 0;第三题#include <stdio.h>void main()int i, n;long a, sn;long fn(long a, int n);printf("Enter a and n:");scanf("%ld%d", &a, &n);sn=0;for(i=1;i<=n;i+)sn=sn+fn(a,i);printf("sum=%ldn",sn);long fn(long a, int n)long sum;int i;s

9、um=0;for(i=1;i<=n;i+)sum=sum*10+a;return sum;第四题#include "stdio.h"#include "math.h"int main( )int count, i, m, n, sum;int prime(int m);printf("Enter m and n:");scanf("%d%d", &m, &n);sum=0;count=0; for(i=m;i<=n;i+) if(prime(i)!=0) sum=sum+i; count

10、+;printf("count=%d, sum=%dn", count, sum);int prime(int x)int i; if(x=1) return 0;for(i=2;i<=sqrt(x);i+) if(x%i=0) return 0; return 1; 第五题 #include "stdio.h" int main( )int i, m, n;int factorsum(int number); printf("Enter m and n:"); scanf("%d%d", &m, &

11、amp;n); if(m=1) printf("1 "); for(i=m;i<=n;i+) if(factorsum(i)=i) printf("%d ",i); printf("n"); return 0;int factorsum(int n)int i,sum=0; for(i=1;i<n;i+)if(n %i=0) sum=sum+i;if(sum=n) return sum ;五、运行结果 第一题* C:PROG RA-lC-FREE-1.5tempUntFtledl.exe"lEnt er x: &

12、quot;5 kign <-$>-!Pt*ess any key to continue *F _ 'C:PROGFREE* 1.5tempUntitledl.exe-Entei* x:10s ign <10>=1Press any key to continue,.,'C:PROGRA1C-FREE-1.5tempUntitledl,exeFEnter xi0jsign<0>=0Press anv Kev to cunt inue 第二题'C:PROGRA-lCFREE1.5tempUntitfcd4rexeFEnter m and

13、 n: 1 count-4j suni-17Pi*ess any key to cont inue -第三题'C.PROGRA- 1C-FREE-1,5tepU ntitled2.exeHInput(xl:10 丄週1 npu.t<x2 >: 200 100 distance =210,24Pvtsss anv key to continue.«第四题« 'CiPRDGRA-lC-FSEE-L5tempUntitled3,exe'nter a and n:8 5 suun=98760Press an key to cont inue .第五题第5页共6页,C:PROGRA-lC-FREElr5temp,-.,Untled5.exe_Enter m and n1001 6 28Press an5/ Itey to continue六、实验心得1函数定义中出现的是形参,函数调用中出现的是实参。函数名后面一定有一对圆括号,函数定义后面一定没有分号。函数定义告诉编译

温馨提示

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

评论

0/150

提交评论