第七章函数(答案)

上传人:博****1 文档编号:469142689 上传时间:2023-06-26 格式:DOC 页数:13 大小:138.50KB
返回 下载 相关 举报
第七章函数(答案)_第1页
第1页 / 共13页
第七章函数(答案)_第2页
第2页 / 共13页
第七章函数(答案)_第3页
第3页 / 共13页
第七章函数(答案)_第4页
第4页 / 共13页
第七章函数(答案)_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《第七章函数(答案)》由会员分享,可在线阅读,更多相关《第七章函数(答案)(13页珍藏版)》请在金锄头文库上搜索。

1、第七章习题 函数一、选择题1. 以下所列的各函数首部中,正确的是( C ) A) void play(var :Integer,var b:Integer) B) void play(int a,b)C) void play(int a,int b) D) Sub play(a as integer,b as integer)2. 如下fun函数的类型是( C )fun(float x) double y; int z;y=x*x;z=(int)y;return(z); A)void B)double C)int D) float3. 以下程序的运行结果是( A )int fun(int ar

2、ray44) int j; for(j=0;j4;j+) printf(%2d,array2j);printf(n);main() int a44=0,1,2,0,1,0,0,4,2,0,0,5,0,4,5,0;fun(a); A) 2 0 0 5 B) 1 0 0 4 C) 0 1 2 0 D) 0 4 5 0 4. 以下程序运行后屏幕输出为( B )#include void f(int i) int a=2;a=i+;printf(%d, ,a); main() int a=1,c=3;f(c);a=c+;printf(%d,a); A) 4,3 B)3,3 C)4 ,5 D)3,55.

3、 有以下程序voidswap1(intc)intt;t=c0;c0=c1;c1=t;voidswap2(intc0,intc1)intt;t=c0;c0=c1;c1=t;main()inta2=3,5,b2=3,5;swap1(a);swap2(b0,b1);printf(%d%d%d%dn,a0,a1,b0,b1);其输出结果是( B ) A)5353 B)5335 C)3535 D)35536. 以下函数的功能是( A ) int fun( int n) if (n=1) return 1; else return fun(n-1)+n; A) 计算1+2+3+4+n B) 计算1*2*3

4、*4*nC) 仅返回函数值1 D) 仅返回函数值n【局部变量和全局变量】7. 以下叙述中正确的是 ( A ) A)局部变量说明为static存储数,其生存期将得到延长B)全局变量说明为static存储类,其作用域将被扩大C)任何存储类的变量在未赋初值时,其值都是不确定的D)形参可以使用的存储类说明符与局部变量完全相同8. 若有如下函数定义:int fun() static int k=0; return +k; 以下程序段运行后屏幕输出为( C )int i;for(i=1;i=5;i+) fun();printf(%d,fun();A) 0 B)1 C) 5 D) 69. 下面程序的输出结果

5、是( C ) #include main()int x,y; int a=9,b=5;f() x=a+b; y=a-b; int y,a=25,b=10; f();x=a+b; y=a-b; printf(“%d,%dn”,x,y); return; A)14,4 B)35,15 C)35,4 D)14,15二、改错题【循环:累加题】1. 函数fun(int n) 的功能是:根据参数n,计算大于10的最小n个能被3整除的正整数的倒数之和。例如: #include #include #include #include #define M 50double fun(int n) double y

6、= 0.0; int i,j; j=0; for(i=1;i+) /*/ if(i10)&(i%3=0) /*/ /*/ y+=11.0/i; /*/ j+; if(j=n) break; return y;void main() clrscr(); printf(fun(8) = %8.3lfn, fun(8);【循环:求特殊数】2. 输出201-300之间的所有素数,统计总个数。#include #include int fun() int m,i,k,n=0; for(m=201; m=300;m+=2) k=sqrt(m+1); for(i=2;i=k) /*/ printf(%-4d

7、,m); n+; if(n%10=0) printf(n); return n;void main() int num; printf(n); num=fun(); printf(nThe total of prime is %d,num); getch();【循环:穷举法】3. 求解百马百担问题有100匹马,驮100担货,大马驮3担,中马2担,两匹小马驮1担,问大、中、小马数可分别为多少?有多少种解决方案?#include #include /*/ int void fun() /*/ int large,middle,small,n=0; clrscr(); for( large=0;la

8、rge=33;large+ ) for( middle=0;middlelarge:%d,middle:%d,small:%dn,n,large,middle,small); return n;void main() int num; num = fun(); printf(n There are %d solutions.n,num); getch();【数组】4. 以下程序把1到25的自然数按行顺序存入一个55的二维数组中,然后输出该数组的右上半三角。主函数中对数组进行赋值,函数print用于输出该数组的右上半三角。如下图:1 2 3 4 5 7 8 9 10 13 14 15 19 20

9、 25#include /*/void print(int a5) /*/ int i,j;for(i=0;i5;i+) for(j=0;jj) printf(%4s, ); /*/ else printf(%4d,aij); printf(n);main() int a55,i,j,k=1;for(i=0;i5;i+) for(j=0;j5;j+) /*/aij=k+k; /*/print(a); 5. 判断一个矩阵是否对称,是则返回1,否则返回2。#include #define N 3/*/ int judge(int dataN,int n) /*/int i,j;for (i=0;

10、in-1; i+)for (j=i+1; jn; j+)/*/if (dataij!=dataji) /*/return(2);return(1);void main()int aNN=1,2,3,2,4,5,3,5,6;/*/ if(judge(a,N)=1) /*/printf(not matrix is symmetryn);elseprintf(not matrix is not symmetryn);6. 以下程序的功能是在已经从大到小排序好的数列中查找key(key从键盘输入)。函数BinarySearch实现折半查找功能。#include int BinarySearch(int a, int n, int key) int top,bottom, mid; if(keya0|keyan-1) return -1; /* -1表示没找到 */ else top = 0; bottom = n-1; /*/while(top=key) top = mid+-1; /*/*/ else bottom = mid-+1; /*/

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号