c语言第八章函数上机作业

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

第八章

通过本章实验作业应达目标

1. 掌握定义和调用函数的方法

2.掌握函数嵌套调用的方法

3.掌握通过“值传递”调用函数的方法

4.理解变量作用域和存在期的概念,掌握全局变量和局部变量,动态变量和静态变量的定义、说明和使用方法

本章上交作业

程序8_1.c、8_2.c、8_4.c、8_5.c上传至211.64.135.121/casp。

实验一判断素数的函数

【实验目的】

掌握用函数实现判断素数的方法。

【实验内容】

编写一个函数int prime(int a),判断参数是否为素数。函数有一个形参a,当a 为素数时,返回1,反之,返回0。以8_1.c命名本程序并上交。

函数声明如下:

int prime( int a );

主函数如下:

#include

#include

void main ( )

{

int a, b;

printf("please input a number:\n");

scanf("%d", &a);

b = prime( a );

if ( b = =1 )

printf("the number is a prime number.");

else

printf("the number is not a prime number.");

}

int prime( int a ) { …… }

实验二求最大公约数与最小公倍数

【实验目的】

熟练函数的嵌套调用。

【实验内容】

编写两个函数,分别求两个正整数的最大公约数和最小公倍数,结果作为函数返回值返回。在main函数中实现输入与输出。以8_2.c命名本程序并上交。

主函数如下:

#include

void main( )

{

int gongyueshu( int a, int b );

int gongbeishu( int a, int b );

int a, b, c, d;

printf("please input two integer numbers:");

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

c=gongyueshu(a, b);

d=gongbeishu(a. b);

printf("gongyueshu is %d\n gongbeishu is %d",c,d);

}

int gongyueshu( int a, int b )

{ ……}

int gongbeishu( int a, int b )

{ …… }

【实验提示】

可以在最小公倍数中嵌套调用最大公约数函数。最小公倍数=a*b/最大公约数

实验三求数组逆序的函数

【实验目的】

熟练掌握操作数组的方法及数组名作函数参数的使用方法。

【实验内容】

从键盘输入int型数组a[ 20 ]的20 个元素值,编写一个函数实现对数组元素数据的逆序放置。即第1个元素与第20个元素互换,第2个元素与第19个元素互换,……,第10个元素与第11个元素互换。请完善下述程序并以8_3.c命名本程序。

#include

void main( )

{

void nixu( int a[ ], int n ); /* 逆序函数声明 */

int a[20],x;

for (x=0;x<20;x++ )

scanf("%d",&a[x]);

printf("Before invert,the array is:\n");

for (x=0;x<20;x++ )

printf("%d ",a[x]);

printf(“\n”);

nixu(a,20); /* 调用逆序函数,注意实参是什么 */

printf("\nAfter invert,the array is:\n");

for (x=0;x<20;x++ )

printf("%d ",a[x]);

printf(“\n”);

}

void nixu(int a[ ], int n)

{

int i, t;

for (i=0;i<________; i++)

{ t=a[i]; ________; a[n-1-i]=t; }

}

实验四数组中插入元素的函数

【实验目的】

学习在一维数组中插入元素的方法。

【实验内容】

参照给定的主函数,编写一个函数void insert(int a[ ], int n, int y ),它的功能是:把y值插入到有n个数的有序的a数组中, y的值从键盘读入。插入后,数组中的数仍然有序。以8_4.c命名本程序并上交。

对照下面三种情况运行程序:

1)插在最前2)插在最后3)插在中间。

int a[11]={2,4,6,8,10,12,14,16,18,20};

void insert( int a[ ], int n, int number );

void main( )

{

int i, x ;

printf("original array is:\n");

for(i=0;i<10;i++)

printf("%5d",a[i]);

printf("\n");

相关文档
最新文档