《C语言学习与应用》课后习题及答案05_第1页
《C语言学习与应用》课后习题及答案05_第2页
《C语言学习与应用》课后习题及答案05_第3页
《C语言学习与应用》课后习题及答案05_第4页
《C语言学习与应用》课后习题及答案05_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

学习任务五参考答案

问题5T:输入正方形的边长,求面积的函数解法,请将代码补

充完整

#include"stdio.h"

doubIefun(doubIe);

voidmain()

{doubIea,area;

printf("请输入正方形的边长:");

scanf("%lf",&a);

area=fun(a);

printf("area=%lf\n",area);

}

doubIefun(doubIex)

[

doubles;

s二x*x;

returns;

).

问题5-2:模仿应用举例5-2,编写一个函数isprime(inta)判

断a是否为素数,并在主函数中输出100以内的非素数之和。

#incIude"stdio.h"

#incIude"math,h"〃包含数学函数的头文件

intisprime(inta)

(

inti;

for(i=2;i<=sqrt(a);i++)

if(a%i=0)

return0;

return1;

}

voidmain()

(

inti,s=0;

for(i=1;i<=100;i++)

if(isprime(i)==0)

s=s+i;

printf("s=%d\n",s);

getchar();

|

程序执行结果:s=3989

编程训练5T-1输入两个整数,输出较大数,只由main函数

实现

#incIude"stdio.h"

voidmain()

(

intx,y,max;

printf("请输入两个整数:\n");

scanf("%d%d",&x,&y);

if(x>y)

max二x;

eIse

max二y;

printf("较大值是:%d\n",max);

}

编程训练5-1-2建一个无参数的函数,将主函数中的代码全部

转移到自定义函数中,

#incIude"stdio.h"

voidfmax()〃自定义函数

{//将原来主函数中的内容全部搬来.

intx,y,max;

whiIe(1)

(

printf("请输入两个整数:\n");

scanf("%d%d",&x,&y);

if(x>y)

max=x;

eIse

max二y;

printf("较大值是:%d\n",max);

}

)

voidmain()

(

fmax();//主函数中仅一条函数调用语

|

编程训练5T-3编写带参数的函数。

#incIude"stdio.h"

intfmax(inta,intb)〃自定义函数

(

intm;

if(a>b)

m=a;

eIse

m=b;

returnm;〃函数返回值

}

voidmain()

(

intx,y,max;

while(1)

(

printf("请输入两个整数:\n");

scanf("%d%d",&x,&y);

max=fmax(x,y);//调用函数

printf("较大值是:%d\n",max);

}

}

编程训练5-1-4借用上面的fmax函数实现输入三个整数,输

出较大数的程序设计。

#incIude"stdio.h"

intfmax(inta,intb)

intm;

if(a>b)

m=a;

eIse

m=b;

returnm;

|

voidmain()

(

intx,y,z,max;

while(1)

(

printf("请输入三个整数:\n");

scanf("%d%d%d",&x,&y,&z);

max=fmax(x,y);〃第一次调用函数,将x,y间的

较大值赋给max

max二fmax(max,z);//第二次调用,用max与z间的较大

值更新max

printf("较大值是:%d\n",max);

)

}

编程训练5-1-5编写fun(x)函数,函数值是x的绝对值。

#incIude"stdio.h"

intfun(intx)

(

inty;

if(x>=0)

y二x;

eIse

y=-x;

returny;

|

voidmain()

intx,y;

printf("请输入一个整数:\n");

scanf("%d",&x);

y=fun(x);//调用函数获得x的绝

对值赋给V

printf("|%d|=%d\n",x,y);

}

编程训练5-2-1编写fun1函数,并通过主函数对函数的调用

调试通过。

//intfun1(intn),n为正整数,函数值为1-n之奇数和。

#incIude"stdio.h"

intfun1(intn)

(

inti,sum=0;

for(i=1;i<=n;i++)

{if(i%2=0)

continue;

eIse

sum二i+sum;}

returnsum;

|

voidmain()

(

printf("%d\n",fun1(10));

测试顺fun1(x)输出

1fun1(5)9

2fun1(10)25

编程训练5-2-2编写fun2函数,并通过主函数对函数的调用调试通

过。

//intfun2(intn),n为10以内的正整数,函数值为n的阶

乘。

#include"stdio.h"

intfun2(intn)

(

inti,s=1;

for(i=1;i<=n;i++)

s=s*i;

returns;

}

voidmain()

t

intn;

do{〃此循环用于剔除不合格的输入

printf("请输入一个正整数:");

scanf("%d",&n);

}whiIe(n<1||n>10);

printf("%d!=%d\n",n,fun2(n));

}

程序运行结果:

测试顺fun2(x)输出

1fun2(5)5!=120

2fun2(10)101=3628800

编程训练5-2-3编写fun3函数。

//doubIefun3(intn),n为正整数,函数值为1/1T/3+1/57/7+…

1/n之值。

#incIude"stdio.h"

doubIefun3(intn)

inti,f=1;

doubIes=0;

for(i=1;i<=n;i=i+2)

{s=s+f*1.0/i;

f=-f;}

returns;

}

voidmain()

(

printf("%lf\n",fun3(5));

)

程序运行结果:

测试顺fun3(x)输出

1fun3(5)0.866667

2fun3(10)0.834921

编程训练5-2-4用上面三个函数建立一个函数库

头文件lx.h的内容为:

intfun1(intn)

(

inti,sum=0;

for(i=1;i<=n;i++)

{if(i%2==0)

continue;

eIse

sum=i+sum;}

returnsum;

}

intfun2(intn)

inti,s=1;

for(i=1;i<=n;i++)

s=s*i;

returns;

}

doubIefun3(intn)

(

inti,f=1;

doubIes=0;

for(i=1;i<=n;i=i+2)

(s=s+f*1.0/i;

f=-f;]

returns;

}

程序运行结果:

测试顺输入输出

1-5的奇数和为:9

155!=120

1/1-1/3+1/5-...1/5=0.866667

1T0的奇数和为:25

21010!=3628800

1/1-1/3+1/5-...1/10=0.834921

任务测试模拟试卷选择题参考答案

1.AAADC6.CCDCC

填空题参考答案

1.#includemath,hintpow(n,x)

2.<stdio.h>doubIeint01.0/(i*i)6*s

改错题参考答案

#incIude"stdio.h

#incIude"math.h

/******found******/

intisprime(inta)

inti;

for(i=2;i<=sqrt(a);i++)

/******found******/

if(a%i==0)

return0;

return1;

}

voidmain()

(

/******found******/

ints=0,i;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论