C语言实验报告函数.docx

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

C语言实验报告函数.docx

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

C语言实验报告函数.docx

C语言实验报告函数

学生实验报告

学号:

日期:

2014-06-22

系别

计算机科学与技术

专业

计算机科学与技术(师)

班级

姓名

课程

名称

程序设计基础

课程

类型

专业课

学时数

2

实验

名称

函数

实验目的:

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

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

学会编写函数构造程序.。

实验要求:

实验后写实验报告。

1.实验内容:

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

#include"stdio.h"

intx,y;

voidnum()

{

inta=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()

{

inta=2,i;

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

}

f(inta)

{

intb=0;

intc=3;

b++;

c++;

return(a+b+c);

}

运行结果:

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

7.1题

#include"stdio.h"

/*函数功能:

用迭代法计算n!

*/

longFact(intn)

{

inti;

longresult=1;

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

{

result*=i;

}

returnresult;

}

intmain()

{

intm;

longret;

printf("Inputm:

");

scanf("%d",&m);

ret=Fact(m);

printf("%d!

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

return0;

}

运行结果:

7.2题

#include"stdio.h"

longFact(intn);

intmain()

{

intm;

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*/

longFact(intn)

{

inti;

longresult=1;

if(n<0)

{

return-1;

}

else

{

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

result*=i;

returnresult;

}

}

运行结果:

7.3题

#include"stdio.h"

unsignedlongFact(unsignedintn);

intmain()

{

intm;

do{

printf("Inputm(m>0):

");

scanf("%d",&m);

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

printf("%d!

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

return0;

}

/*函数功能:

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

unsignedlongFact(unsignedintn)

{

unsignedinti;

unsignedlongresult=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()

{

inta,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("Inputtwonumbers(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

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

}

/*函数功能:

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

intGcd(inta,intb)

{

intr;

intc;

r=a%b;

if(r==0)

returnb;

else

while(r!

=0)

{

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

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

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

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

}

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

}

在VCC++环境下运行;

 

 

实验总结:

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

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

-

成绩

批阅老师

批阅日期

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

当前位置:首页 > 解决方案 > 学习计划

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

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