- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言函数实验的报告模版
第六次实验 函数
一、实验要求
掌握函数定义和调用的方法
掌握函数嵌套调用和递归调用的方法
理解实参与形参的对应关系以及“值传递”调用函数的方法
理解变量作用域和存在期的概念,掌握全局变量和局部变量、动态变量和静态变量的定义、说明和使用方法
二、实验内容(要求粘贴正确程序及测试结果)
1、完善所给的程序,通过定义一个max3函数实现求三个数中的最大值的功能。
#include stdio.h
int max3(int a, int b,int c); /*函数声明*/
void main ()
{
int a, b, c;
int max;
printf(Please input three numbers:);
scanf(%d%d%d, a, b, c);
max = max3(a,b,c); /*调用max3函数,其中a,b,c作为其参数,max用于保存max3函数的返回值*/
printf(the maximum number of %d, %d, %d is %d\n, a, b, c, max);
}
/*可在此编写max3函数,实现求三个数中的最大值的功能*/
max3(int a ,int b,int c)
{
int m;
m=ab?a:b;
m=mc?m:c;
return m;
}
2、在循环结构程序设计实验的第6题求完数中,要求编写程序判断1~1000之内的哪些数是完数。现要求改写该程序,新的程序中需要定义一个int wanshu(int num)函数,该函数功能是判断函数参数num是否为完数,如果是则函数返回值为1,否则为0。完成wanshu函数定义后,在新的程序中调用wanshu函数,使得新的改写的程序能判断1~1000之内的哪些数是完数。
#include stdio.h
int wanshu(int num); /*函数声明*/
void main ()
{
int i;
for(i=1;i=1000;i++)
{
if(wanshu(i)) /*调用wanshu函数,其中i作为其参数,若调用后返回值为1则说明是完数,否则不是*/
printf(%d是完数\n, i);
}
}
/*可在此编写wanshu函数,实现一个数n是否是完数*/
int wanshu(int num)
{
int s = 0,i;
for(i=1;inum;i++)
{
if( num%i == 0) s += i;
}
if(s == num)
return 1;
else
return 0;
}
3、找出1~1000之内的所有素数并输出。要求首先定义一个int prime(int num)函数,该函数用于判断参数num是否为素数,如果是则函数返回值为1,否则为0;并循环调用该函数以判断1~1000之内的素数。
#includestdio.h
#includemath.h
//判断一个整数是否为素数
int prime(int num)
{
int i;
if(num==1 || num==0)return 0;
for(i=2;i=sqrt(num);i++)
{
if(num%i==0)
return 0;
}
return 1;
}
void main()
{
int i;
for(i=1;i=1000;i++)
{
if(prime(i))
printf(%4d,i);
}
}
例如:若n=10,则A10=0.617977
三、实验小结
一、实验目的和要求
掌握一维数组、二维数组的定义、使用及初始化
字符型数组使用
学习数组作为函数参数的用法
掌握与数组有关的常用排序算法
二、实验内容(要求每题都复制程序并粘贴测试结果)
1、编程实现如下功能:输入以!作为结束的字符串,并统计该字符串中字母、数字、其他字符的个数。
注:一般可以使用gets函数gets(str)将输入字符串保存至str字符数组中,该函数以回车作为输入结束符;在本题中,需要使用!作为输入的结束符,可考虑:#include stdlib.h
#include stdio.h
int numOfLetter = 0, numOfNumber = 0, numOfElse = 0;//分别表示字母、数字、其他字符的个数
void test()
{
char c;
while(1)
{
scanf(%c, c);
if(c == !)
{
break;
}
if(
文档评论(0)