《☆C语言实验六(第七章二维数组、字符串数组)》由会员分享,可在线阅读,更多相关《☆C语言实验六(第七章二维数组、字符串数组)(7页珍藏版)》请在金锄头文库上搜索。
1、文档供参考,可复制、编制,期待您的好评与关注! 第七章二维数组、字符串数组题书面作业以书面作业形式上交,2010年11月1日课堂交三道题的源程序1、 编写一个主函数:用二维数组存放六行的“杨辉三角形”。2、 编写一个主函数:输入五个国家的名称存放在字符串数组,然后按字母顺序排列输出。3、 编写一个主函数:实现两串字符串的合并上课演示名单及提问名单选定:1、0821张成龙;周俊杰 2、0823陈智勇、戴佳3、周徐明、顾文斌单选、填空题:0822(重点关注杨辉三角形、Fibonnacii数列形成)【第一题具体要求】参考下列三个资料后, 教科书P153习题7.6(实验指导书P55); 软件中“第七章
2、填空第21题(或2010春阅读程序第11题)”;或后面附录 软件中“第六章填空第3题(或2006秋阅读程序第11题)”编一主函数,用二维数组存放六行的“杨辉三角形”,并要求按六行输出该三角形数据的参考源程序。【第二题具体要求】输入五个国家的名称按字母顺序排列输出。 编程思路如下:五个国家名应由一个二维字符数组来处理。然而语言规定可以把一个二维数组当成多个一维数组处理。 因此本题又可以按五个一维数组处理, 而每一个一维数组就是一个国家名字符串。用字符串比较函数比较各一维数组的大小,并排序, 输出结果即可。input countrys name:ChinaIndiaUSABKKorea输出:BKC
3、hinaIndiaKoreaUSA参考程序【第三题具体要求】阅读并理解题目要求后,用一个主函数编写程序,实现字符串的合并。【2009春上机编程题_C06;2010年秋上机题C02改错题中有相同内容】【编程要求】1. 编写函数void fun( char *a, char *b, char *c),其功能是先将b指向的字符串逆序存放。然后按a0、b0、a1、b1的顺序合并a字符串和b字符串到c指向的数组中,将a或b中剩余字符拼接在c数组的尾部。2. 编写main函数,声明三个一维数组s1、s2和s,接收键盘输入的两个字符串并保存到数组s1和s2中,调用fun函数对s2字符串做逆序变换,再合并s1
4、字符串和s2字符串到s数组中。将合并后产生的数组s中的字符串输出到屏幕并保存到文件myf2.out中。最后将考生本人的准考证号字符串也保存到结果文件myf2.out中。【测试数据与运行结果】测试数据:s1字符串为abcdefg,s2字符串为ABCD 运行结果:aDbCcBdAefg【参考程序】:涉及到书P374:strlen()函数。课堂练习空余时间或课后业余时间练习知识题【软件第七章】选择题:3、若有数组A和B的声明static char A=ABCDEF,B=A, B, C, D, E, F;,则数组A和数组B的的长度分别是_(25)_。 A7,6 B6,7 C6,6 D7,79、若有声明
5、char ss8= Red;,则sizeof(ss)的值是_(30)_。 A. 8 B. 4 C. 3 I D. 112、已知有声明char s80;,若需要将键盘输入的一个不含空格的字符串保存到s数组中,则下列语句中正确的是_(28)_。 A. scanf(%s,s); B. scanf(%s,s0); C. gets(); D. s=getchar();13、已知有声明char s26= Hello;,在程序运行过程中,若要想使数组s中的内容修改为Good,则以下语句中能实现此功能的是_(26)_。 A. s=Good; B. s20= Good; C. strcat(s, Good);
6、D. strcpy(s, Good);填空:填空12、以下程序运行时,输出结果第一行为_(13)_,第二行为_(14)_,第三行为_(15)_。 #include #define N 3main() int aNN,bN*N=1,1,i,j; for(i=2;iN*N;i+) bi=bi-1+bi-2; for(i=0;iN;i+) for(j=0;jN;j+) aji=bi*N+j; for(i=0;iN;i+) for(j=0;jN;j+) printf(%5d,aij); printf(n); 填空15、以下程序运行时输出结果中第一行是_(11)_,第二行是_(12)_。 #includ
7、e void main() int i,j,a33; for(i=0;i3;i+) for(j=0;j3;j+) if(ij) aij=1; else aij=i-j+1; for(i=0;i3;i+) for(j=0;j3;j+) printf( %4d ,aij); printf(n ); 21(下列两题均是杨辉三角形数列)、以下程序运行时输出到屏幕的结果中第二行是_(13)_,第四行是_(14)_。#include #define N 6void main() int i,j,aN+1N+1; for(i=1;i=N;i+) aii=1;ai1=1; for(i=3;i=N;i+) fo
8、r(j=2;ji;j+) aij=ai-1j-1+ai-1j; for(i=1;i=N;i+) for(j=1;j=i;j+) printf(%4d,aij); printf(n ); 补充题、以下程序运行时,输出结果第二行为_(21)_,第三行为_(22)_,第四行为_(23)_,第五行为_(24)_,第六行为_(25)_。#include void main() int i,j,a77; for(i=1;i=6;i+) aii=1;ai1=1; for(i=3;i=6;i+) for(j=2;ji;j+) aij=ai-1j-1+ai-1j; for(i=1;i=6;i+) for(j=1
9、;j=i;j+) printf(%4d,aij); printf(n ); 【参考资料】一、sizeof():按照书P365规定,它是关键字。引用格式有:1、sizeof(表达式):表达式结果按照书P47说法“C语言编译系统将浮点型常量作为双精度来处理”和遵循书P54图3-10规定来确定其数值。例如:#include void main() int x=sizeof(1/3.0); printf(n%dn,x);其值显示为:82、sizeof(类型说明符):TC30下,int为2(书P43表3-1);long为4;float为4(书P46表3-2);VC+下,int和long为4;float为
10、4(书P46表3-2);例如:2010春基本概念第3题在C语言系统中,如果一个变量能正确存储的数据范围为整数-3276832767,则该变量在内存中占_(3)_字节。 此题标准答案是:2。实际江苏省出题老师是指TC30条件下的数据。若是在VC+,则答案为4。3、sizeof(字符串常量或变量):该值取决于串字符串长度加上1(字符串结束符0),例如实验五上机练习题5,strlen()函数遇到第一个字符串结束符0,计数结束;而sizeof()以a7中7为准。又例如软件第七章选择第9题:若有声明char ss8= Red;,则sizeof(ss)的值是_(30)_。A. 8 B. 4 C.3 D.1 而sizeof()以ss8中8为准。若无下标,则为字符总个数加1。4、#define LEN sizeof(struct student):见书P298结构体中建立链表时,度量结构体的长度之用。二、数制变换: /