- 1、本文档共7页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
函数实验5
南昌大学实验报告
学生姓名: 学 号: 专业班级: 电三106
实验类型:□ 验证□综合 设计 □ 创新 实验日期: 5月18日 实验成绩:
一、实验名称
实验5 函数
二、实验目的
1.掌握C函数的定义方法、函数的调用方法、参数说明以及返回值。掌握实参与形参的对应关系以及参数之间的“值传递”的方式;掌握函数的嵌套调用及递归调用的设计方法
2.掌握全局变量和局部变量、动态变量与静态变量的概念和使用方法;
3.在编程过程中加深理解函数调用的程序设计思想。
二.实验内容
1.多模块的程序设计与调试的方法;
2.函数的定义和调用的方法;
3.用递归方法进行程序设计。
三.实验环境
PC微机
DOS操作系统或 Windows 操作系统
Turbo C 程序集成环境
四.实验内容
1.编primeNum(int num),它的功能是判别一个数是否为素数。如果num是素数,返回该数;否则返回0值。
要求: (1)在主函数输入一个整数num,调用该函数后,输出num是否是素数的信息。输出格式为:num is prime或num is not prime。
程序:#includestdio.h
#includemath.h
primeNum(int num) /*设置函数,判别是否为素数*/
{
int i;
for(i=2;i=sqrt(num);i++)
if(num%i==0) break;
if(isqrt(num)) return(num);
else return(0);
}
main()
{
int num,i;
printf(Please input a number:);
scanf(%d,num);
i=primeNum(num);
if(num==0||num==1||num==2) /*0,1,2无素数之分*/
printf(无法判别是否为素数\n);
else
{
if(i!=0) printf(%d is prime\n,num);
else printf(%d is not peime\n,num);
}
}
备注:不知道是在主函数中输出素数的信息还是在调用函数中输出。
2)分别输入以下数据:0,1,2,5,9,13,59,121,运行程序并检查结果是否正确。?
2.编写函数computNum( int num),它的功能是计算任意输入的一个正整数的各位数字之和,结果由函数返回(例如:输入数据是123,返回值为6)。
num由主函数输入,调用该函数后,在主函数内输出结果。#include stdio.h
main()
{
int num,sum;
int computNum(int num);
printf(Please input a number:\n);
scanf(%d,num);
sum=computNum(num);
printf(sum=%d\n,sum);
}
int computNum(int num)
{
int sum;/*只定义了4位数,如果超过9999,则会出错*/
sum=num%10+num/10%10+num/100%10+num/1000%10;
return(sum);
}
3.编写函数,mulNum(int a,int b),它的功能是用来确定a和b是否是整数倍的关系。如果a是b的整数倍,则函数返回值为1,否则函数返回值为0。
(1)在主函数中输入一对数据a和b,调用该函数后,输出结果并加以相应的说明。例如:在主函数中输入:10,5 ,则输出:10 is multiple of 5.
2)分别输入下面几组数据进行函数的正确性测试:1与5、5与5、6与2、6与4、20与4、 37与9等,并对测试信息加以说明。#includestdio.h
main()
{
int num1,num2,flag;
int mulNum(int a,int b);
printf(please input two number:);
scanf(%d,%d,num1,num2);
flag=mulNum(num1,num2);
if(num1=num2flag==1)
printf(%d is multiple of %d\n,num1,num2);
else if(num2=num1flag==1)
printf(%d is multiple of %d\n,num2,num1);
else
文档评论(0)