《☆C语言实验七(第七章综合题).doc》由会员分享,可在线阅读,更多相关《☆C语言实验七(第七章综合题).doc(4页珍藏版)》请在金锄头文库上搜索。
1、第七章二维数组、字符串数组综合题书面作业以书面作业形式上交,2010年11月8日课堂交下列两题的源程序上课练习:0821和0823抽出一个人;知识题:0823抽人答题【第一题要求】编一主函数,实现下列江苏省计算机C语言上机操作题目的要求。【2006秋上机编程题_C01】二、编程题(22分)【程序功能】置换矩阵中的某个特定数。【编程要求】1. 编写函数void matrix_change( int x3, int n)。函数功能:找出x指向的二维数组(该数组中保存了一个n3矩阵的数据)前n行中的最大整数,用该整数所生成的降序数将其替换。降序数是指该数的高位数字的值不小于低位数字的值。例如,若矩阵
2、中的最大整数是1024,则用降序数4210替换1024。2. 编写main函数。函数功能:声明一个二维数组并用测试数据初始化该数组,调用matrix_chnage函数对该数组中保存的数据做替换,将变换后的二维数组中数据输出到屏幕并用写文件函数保存到结果文件myf2.out中。最后将考生本人的准考证号字符串也保存到结果文件myf2.out中。【测试数据与运行结果】测试数据:4 8 16 运行结果: 4 8 1632 64 128 32 64 128256 512 1024 256 512 4210my exam number is:考生本人准考证号字符串【要求】1. 源程序文件名必须取为myf2
3、.c,输出结果文件名为myf2.out。2. 数据文件的打开、使用、关闭均用C语言标准库中缓冲文件系统的文件操作函数实现。3. 源程序文件和运行结果文件均需保存在考试盘根目录中供阅卷使用。4. 不要复制扩展名为obj和exe的文件到考试盘上。【解题思路提示】1、 首先设置数据结构:原始二维数组定义并初始化 int x33=4,8,16,32,64,128,256,512,1024;循环变量i,j,k。最大值分解为一维整型数组元素存放单元:y4,临时变量t2、 求取该二维数组的最大值元素 max,及其相应所在的行 maxi,所在的列 maxjmax=x00,maxi=0,maxj=0;for(i
4、=0;i3;i+) for(j=0;j3;j+) if(max0) yk+=t%10; t/=10;4、 采用简单起泡排序方法,使元素为k个元素的数组y为降序的一维数组。5、 然后用循环,求取该倒序后的十进制数max。 max=0; for(i=0;ik;i+) max=max*10+yi;6、 再用max替换数组x中maxi行、maxj列的元素值。7、 按下图输出数组x的最后数据。并输出到屏幕,其结果见下图所示。:【第二题要求】编一主函数,实现下列江苏省计算机C语言【2008秋上机编程题_C02】上机操作题目的要求。二、编程题(20分)【程序功能】取出一个正整数中的所有偶数数字,用这些数字构
5、成一个最大数。【编程要求】3. 编写函数lon fun( long s),取出整数中的所有偶数数字,用这些数字构成一个最大数,函数返回该数。4. 编写main函数,接收键盘输入的一个长整型数,调用fun函数求出用该整数的所有偶数数字构成的一个最大数,将所得结果输出到屏幕并保存到文件myf2.out中。最后将考生本人的准考证号字符串也保存到结果文件myf2.out中。【测试数据与运行结果】测试数据:s=25846513运行结果:8642my exam number is:考生本人准考证号字符串【要求】5. 源程序文件名必须取为myf2.c,输出结果文件名为myf2.out。6. 数据文件的打开、
6、使用、关闭均用C语言标准库中缓冲文件系统的文件操作函数实现。7. 源程序文件和运行结果文件均需保存到T:盘上,供阅卷使用。8. 不要复制扩展名为obj和exe的文件到T:盘上。【解题思路提示】1、 定义长整型量long s,even;并以25846513赋给s;将s分解为一维整型数组y的元素。初始化存放单元:int y10,w10,t,k;2、 将s每一位的分解到数组y中,位数存入k;3、 从y数组中取出所有偶数,存入数组w;4、 对w数组要求用选择法降序排列;5、 由降序排列后的w数组求取even值,并输出到屏幕,其结果见下图所示。参考程序课堂练习空余时间或课后业余时间练习知识题【软件第七章
7、】选择:3、2006秋25题若有数组A和B的声明“static char A=ABCDEF,B=A, B, C, D, E, F;”,则数组A和数组B的长度分别是_。A 7,6 B 6,7 C 6,6 D 7,79、若有声明char ss8= Red;,则sizeof(ss)的值是_(30)_。 A 8 B. 4 C.3 D.113、已知有声明char s26= Hello;,在程序运行过程中,若要想使数组s中的内容修改为Good,则以下语句中能实现此功能的是_(26)_。 A.s=Good; B. s20= Good; C. strcat(s, Good); D. strcpy(s, Goo
8、d); 填空:3、以下程序运行时,输出结果第一行为_(14)_,第二行为_(15)_,第三行为_(16)_。#include main() int a99=0,i,j,k,n=3; j=n/2; i=n-1; aij=1; for(k=2;kn-1&jn-1) i=i-2; j-; else if(in-1) i=0; if(jn-1) j=0; if(aij=0) aij=k; else i=i-2; j-; aij=k; for(i=0;i3;i+) for(j=0;j3;j+) printf(%5d,aij); printf(n); 13、若有声明char s10= remind;,执行puts(s+2);后的输出结果是_(2)_。第 1 页 共 4 页