- 1、本文档共3页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言作业7
浙江工商大学
计算机与信息工程学院实验报告(7)
课程名称: 高级语言程序设计 姓 名: 学 号:
指导教师: 班 级: 日 期:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
实验内容及要求:
学习函数的编程思想,编写一个程序包括3~4个函数。掌握函数中2种参数的传递方式和函数的相互调用。
请同学完成以下程序的编写。
一、写一个函数int digit(int n,int k),它返回数n的从右边向左的第k个十进数字位值。例如,函数调用digit(1234,2)将返回值3。
二、写一个函数int isprime(int n),当n是质数时,函数返回非零值;当n是合数时,函数返回零值。
三、写一个函数reverse(char s[]),将字符串s[]中的字符存储位置颠倒后重新存于s[]中。试分别用递归和非递归两种形式编写。
四、写一个主函数输入测试数据(自己指定),并调用上述函数,检查函数功能的正确性。
要求:请同学把预备知识、步骤、程序框图、调试好的程序及存在的问题写在下面(不够可以附页)。
一、
int digit(int n, int k)
{
int i;
int m;
for(i=1;ik;i++)
{
m=n/10;
}
return(m%10);
}
二、
int isprime(int n)
{
int i;
if(1==n)
return 0;
else if(2==n)
return 1;
for(i=2;in/2;i++)
{
if(n%i==0)
return 0;
}
if(i=n/2)
return 1;
}
三、
非递归:
reverse(char s[])
{
int i,k,t;
char b[81];
k=strlen(s);
for(i=0,t=k;it;i++,k--)
{
b[i]=s[k-1];
}
b[i]=\0;
}
递归:
四:
#includestdio.h
#includestring.h
int main()
{
int dig,isp;
dig=digit(1234, 2);
isp= isprime(7);
if(1==isp)
printf(“is a prime\n”);
else if(0==isp)
printf(“is not a prime\n”);
reverse(“hello”);
printf(“%3d\n”,dig);
return 0;
}
文档评论(0)