C语言实验报告6函数.docx

上传人:b****3 文档编号:4055054 上传时间:2022-11-27 格式:DOCX 页数:14 大小:282.65KB
下载 相关 举报
C语言实验报告6函数.docx_第1页
第1页 / 共14页
C语言实验报告6函数.docx_第2页
第2页 / 共14页
C语言实验报告6函数.docx_第3页
第3页 / 共14页
C语言实验报告6函数.docx_第4页
第4页 / 共14页
C语言实验报告6函数.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

C语言实验报告6函数.docx

《C语言实验报告6函数.docx》由会员分享,可在线阅读,更多相关《C语言实验报告6函数.docx(14页珍藏版)》请在冰豆网上搜索。

C语言实验报告6函数.docx

C语言实验报告6函数

学生实验报告

学号 :

ﻩ日期:

2014-06-22

系别

计算机科学与技术

专业

计算机科学与技术(师)

班级

姓名

课程

名称

程序设计基础

课程

类型

专业课

学时数

2

实验

名称

      函数

实验目得:

掌握C语言函数得定义与调用方法;

理解C语言函数得调用过程;

学会编写函数构造程序。

实验要求:

实验后写实验报告。

1.实验内容:

1.阅读下列程序并执行,理解程序得功能并记录程序运行结果

#include"stdio、h”

int x,y;

voidnum()

ﻩint a=15,b= 10;

x= a—b;

y=a+b;

}

voidmain()

inta = 7,b=5;

ﻩx=a+b;

y= a— b;

num();

printf("%d,%d\n”,x,y);

运行结果:

2、阅读下面程序并执行,理解程序并记录程序运行结果

#include"stdio。

h"

voidmain()

int a=2,i;

  for(i=0;i<3;i++)printf(”%4d",f(a));

}

f(int a)

intb=0;

intc=3;

  b++;

 c++;

 return(a+b+c);

运行结果:

3、调试运行教材146页—156页例7、1-例7、3页程序,理解并掌握程序改进所采用得程序设计技术。

7.1题

#include "stdio、h"

/*函数功能:

用迭代法计算n!

*/

longFact(int n)

ﻩinti;

ﻩlongresult=1;

ﻩfor(i=2;i<=n;i++)

ﻩ{

result*=i;

}

return result;

intmain()

ﻩint m;

ﻩlongret;

printf(”Inputm:

");

ﻩscanf("%d",&m);

ﻩret=Fact(m);

printf("%d!

=%ld\n",m,ret);

ﻩreturn0;

}

运行结果:

7、2题

#include”stdio.h”

longFact(intn);

intmain()

{

ﻩint m;

ﻩlongret;

ﻩprintf(”Inputm:

”);

ﻩscanf("%d”,&m);

ﻩret=Fact(m);

ﻩif(ret==-1)

printf("Inputdateerror!

\n");

ﻩelse

ﻩﻩprintf("%d!

=%ld\n”,m,ret);

ﻩreturn0;

/*函数功能:

用迭代法计算n!

当您n〉=0时,返回n!

得值;否则返回-1*/

long Fact(intn)

{

inti;

ﻩlongresult=1;

if(n<0)

ﻩreturn-1;

ﻩ}

ﻩelse

ﻩfor(i=2;i〈=n;i++)

ﻩﻩresult*=i;

ﻩreturnresult;

ﻩ}

运行结果:

7。

3题

#include”stdio、h"

unsigned long Fact(unsignedintn);

intmain()

ﻩintm;

do{

ﻩprintf(”Inputm(m〉0):

");

ﻩscanf("%d",&m);

ﻩ}while(m〈0);  /*增加对输入数据得限制,确保输入得数据未无符号整数*/

ﻩprintf(”%d!

=%lu\n",m,Fact(m));/*无符号长整形格式输出阶乘值*/

ﻩreturn0;

/*函数功能:

用迭代法计算无符号整型变量n得阶乘*/

unsigned longFact(unsignedintn)

ﻩunsignedinti;

ﻩunsigned long result=1;

for(i=2;i<=n;i++)

ﻩresult*=i;

ﻩreturnresult;

运行结果;

4、编程设计教材186页7.7题(1)、

(2),并在VCC++环境下运行。

7。

7

(1)穷举法:

源程序

#include"stdio.h"

intGcd(inta,intb);  /*函数声明*/

intmain()

int a,b,t;

ﻩprintf(”Inputtwonumbers\n:

");

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

printf("%d\n",Gcd(a,b));/*调用函数*/

/*计算量个正整数得最大公约数*/

intGcd(inta,intb)

ﻩintt,c;

if(a

ﻩ{

ﻩc=a;

ﻩ}

ﻩelse

{

ﻩc=b;

ﻩfor(t=c;;t—-)    /*最大数不会比这两个数得最小值大*/

ﻩ{

 a%t==0;

ﻩb%t==0;

if(a%t==0&&b%t==0)

returnt;

}

在VCC++环境下运行:

运行结果:

(2)欧几里得算法

#include"stdio。

h"

intGcd(inta,intb);/*函数声明*/

intmain()

{

ﻩinta,b;

ﻩprintf(”Inputtwo numbers(a>b):

”);

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

ﻩdo{

printf(”Error!

\n");

   printf(”Inputtwonumbers(a〉b):

");

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

ﻩ}while(a<=0||b<=0||a〈b);

  printf("%d\n",Gcd(a,b)); /*调用函数*/

}

/*函数功能:

计算量个正整数得最大公约数*/

int Gcd(inta,intb)

ﻩintr;    

intc;

r=a%b;

if(r==0)

return b;

ﻩelse

ﻩwhile(r!

=0)

c=b; /*保存当前得除数*/

ﻩb=r;  /*将当前得余数复制给下一次运算得除数*/

ﻩa=c; /*将当前得除数福中给下一次运算得被除数*/

ﻩﻩﻩr=a%b; /*记录当前得余数*/

ﻩﻩ}

ﻩreturnb;   /*输出两数得最大公约数*/

在VCC++环境下运行;

实验总结:

通过本节实验课,进一步熟悉了函数得基本用法与功能,初步学会了函数得调用方法,并且掌握了用迭代法编程计算一些简单得实际问题。

函数就是程序得基本单元,要学好这门课就要从基本工作做起,学好每一块语言知识,慢慢总结经验,掌握更多得编程技巧、

-

成绩

批阅老师

批阅日期

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 教学研究 > 教学反思汇报

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1