77范文网 - 专业文章范例文档资料分享平台

实验六答案(2)

来源:网络收集 时间:2020-04-17 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

359216180.docx答案

(4)定义函数int f ( int n),求n!

源程序:

int f(int n)

{int i; long w=1; for (i=1;i<=n;i++) w=w*i; return w; }

main()

{int n; long j;

printf(\请输入一个正整数:\\n\ scanf(\ j=f(n);

printf(\的阶乘是%ld\\n\}

(5)利用题(4)定义函数f,计算?i!

1n源程序:

int f(int n)

{int i; long w=1; for (i=1;i<=n;i++) w=w*i; return w; }

main()

{int i, n; long s=0;

printf(\请输入一个正整数:\\n\ scanf(\ for(i=1;i<=n;i++) s=s+f(i);

printf(\}

附加编程题

(1)定义函数int f(int x)判断x是否是奇数,若是则函数返回1,否则返回0。

6

359216180.docx答案

源程序: int f(int x)

{if(x%2!=0) /*或写成if(x%2==1)*/ return 1; else

return 0; }

main() {int n,flag;

printf(\请输入一个正整数:\\n\ scanf(\ flag=f(n); if(flag==1)

printf(\是奇数,函数返回值是1\\n\ else

printf(\不是奇数,函数返回值是0\\n\}

(2) 定义函数int f (int m, int n) 求mn。要求用函数递归调用的方法。 源程序:

int f(int m, int n) {int v;

if(n>1) /*或写成if(n!=1)*/ v=m*f(m,n-1); else v=m; return v; }

main() {int m,n;

printf(\请输入两个正整数(第一个为底数,第二个为指数):\\n\ scanf(\

printf(\的%d次方是%d\\n\}

(3) 定义函数int f (int n) 求源程序:

?i。要求用函数递归调用的方法。

1nint f(int n) {int sum;

if(n>1) /*或写成if(n!=1)*/

7

359216180.docx答案

sum=n+f(n-1); else

sum=1; return sum; }

main() {int n;

printf(\请输入一个正整数:\\n\ label: scanf(\

if(n<1) {printf(\输入数据错误,请重新输入:\\n\ printf(\到%d之间的正整数之和为%d\\n\}

(4) 定义函数int f (int a, int b ) 求a, b的最大公约数。 源程序1:

int f(int a, int b) {int c,i;

if(a=1;i--)

if((a%i==0)&&(b%i==0)) return i; }

main() {int m,n;

printf(\请任意输入两个正整数:\\n\ scanf(\

printf(\和%d的最大公约数是%d\\n\}

源程序2:

int f(int a, int b) {int i;

for(i=a;i>=1;i--) /*或写成for(i=b;i>=1;i--)*/ if((a%i==0)&&(b%i==0)) return i; }

main() {int m,n;

printf(\请任意输入两个正整数:\\n\ scanf(\

printf(\和%d的最大公约数是%d\\n\}

8

359216180.docx答案

思考:如何求两个正整数的最小公倍数? 源程序1:

int f(int a, int b) {int i;

for(i=a;i<=a*b;i++) /*或写成for(i=b;i<=a*b;i++)*/ if((i%a==0)&&(i%b==0)) return i; }

main() {int m,n;

printf(\请任意输入两个正整数:\\n\ scanf(\

printf(\和%d的最小公倍数是%d\\n\}

源程序2:

int f(int a, int b) {int i,c;

if(a>b) c=a; else c=b;

for(i=c;i<=a*b;i++)

if((i%a==0)&&(i%b==0)) return i; }

main() {int m,n;

printf(\请任意输入两个正整数:\\n\ scanf(\

printf(\和%d的最小公倍数是%d\\n\}

9

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库实验六答案(2)在线全文阅读。

实验六答案(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/987400.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: