第七章 C语言习题及答案第七章.docx
- 文档编号:26614204
- 上传时间:2023-06-20
- 格式:DOCX
- 页数:24
- 大小:20.26KB
第七章 C语言习题及答案第七章.docx
《第七章 C语言习题及答案第七章.docx》由会员分享,可在线阅读,更多相关《第七章 C语言习题及答案第七章.docx(24页珍藏版)》请在冰豆网上搜索。
第七章C语言习题及答案第七章
7-4仔细阅读下例程序,给出程序的运行结果。
(1)main()
{
voidfun1(),fun2();/*应该增加的函数声明语句*/
fun1();
printf("");
fun2()
}
voidfun1()
{
printf("COMPAQ");
}
voidfun2()
{
printf("COMPUTER");
}
(2)main()
{
voidfun();/*应该增加的函数声明语句*/
inti;
for(i=1;i<=10;i++)
fun();
}
voidfun()
{
staticinta=100;
intb=1;
++b;
printf("%d+%d=%d\n",a,b,a+b);
a+=1;
}
(3)staticinta=10;
main()
{
inta=100;
voidfun1(),fun();/*应该增加的函数声明语句*/
fun1();
fun2();
printf("a=%d\n",a);
}
voidfun1()
{
a-=a/2;
printf("a=%d\n",a);
}
voidfun2()
{
inta=100;
a*=a;
printf("a=%d\n",a);
}
(4)main()
{
intadd(int,int);/*应该增加的函数声明语句*/
externintx,y;
printf("%d",add(x,y));
}
intx=20,y=5;
add(a,b)
inta,b;
{
ints;
s=a+b;
return(s);
}
(5)voidf(n)
intn;
{
intx=5;
staticinty=10;
if(n>0)
{
++x;
++y;
printf("x=%d,y=%d",x,y);
}
}
main()
{
intm=1;
f(m);
}
答:
(1)由于fun1()函数定义在main()函数的调用后面,故在main()中应该增加函数声明函数的语句“voidfun1(),fun2();”。
运行结果:
COMPAQCOMPUTER
(2)同
(1),在main()中应该增加函数声明语句。
运行结果:
100+2=102
101+2=103
102+2=104
103+2=105
104+2=106
105+2=107
106+2=108
107+2=109
108+2=110
109+2=111
(3)用
(1),在mai()中应该增加函数声明语句。
运行结果:
a=5
a=10000
a=100
(4)同
(1),在main()中应该增加函数声明语句。
运行结果:
25
(5)运行结果:
x=6,y=11
思考:
将一些重复的计算方法通过函数进行处理的好处是什么?
它体现了结果化程序设计的什么思想?
7-5定义一个函数,求x的n此方。
解floatfun(floatx,intn)
{
inti;
floaty=1;
for(i=1;i<=n;i++)
y*=x;
return(y);
}
思考:
此函数的返回类型是什么?
形参类型有几张?
形参个数有几个?
7-7定义一个函数,输出九九乘法表。
解:
voidfun()
{
inti,j;
for(i=1;i<=9;i++)
{
for(j=1;j<=i;j++)
printf("%d*%d=%-3d",j,i,i*j);
printf("\n");
}
}
思考:
此函数定义时的 void表示什么?
无参函数的特点是什么?
7-9编写程序,求100个实数的和及平均值,要求用函数完成。
解:
#include"stdio.h"
voidmain()
{
floatfun_sum(int),fun_aver(float,int);
floatsum,average;
intn;
printf("请输入实数的个数(<=100):
");
scanf("%d",&n);
sum=fun_sum(n);
average=fun_aver(sum,n);
printf("sum=%f,average=%f\n",sum,average);
}
floatfun_sum(intn)
{
inti;
floatx,s=0;
printf("请输入%d个实数:
\n",n);
for(i=1;i<=n;i++)
{
scanf("%f",&x);
s=s+x;
}
return(s);
}
floatfun_aver(floats,intn)
{
return(s/n);
}
思考:
main()函数中的变量n与fun_sum、fun_aver函数中的n是否是同一个变量?
可否不同命?
7-10编写程序,求n个数的最大值和最小值,要求用函数完成。
解#include"stdio.h"
voidmain()
{
floatmax,min;
floatx;
intn,i;
floatfun_max(floata,floatb),fun_min(float,float);
printf("请输入数据个数n:
");
scanf("%d",&n);
scanf("%f",&x);
max=min=x;
for(i=1;i<=n-1;i++)
{
scanf("%f",&x);/*输入其余的数*/
max=fun_max(max,x);
min=fun_min(min,x);
}
printf("max=%f,min=%f\n",max,min);
}
floatfun_max(floata,floatb)
{
if(b>a)return(b);
elsereturn(a);
}
floatfun_min(floata,floatb)
{
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第七章 C语言习题及答案第七章 第七 语言 习题 答案
![提示](https://static.bdocx.com/images/bang_tan.gif)