(0 5分 #include int a[101]={0}; //数组a的含义:元素a[k]的值表示到k楼层的人数。 int i,x,y,z,f; scanf(\ for(i=0;i __(2)__; if(a[f]!=0) { y+=5; __(3)__; } } while(f>0) { f--; __(4)__; } printf(\} (1)答案 2分 a[k]++ (2)答案 1分 x+=6 (3)答案 1分 n-=a[f] (4)答案 1分 z+=4 2. 下面程序的功能是生成并打印某数列的前20项,输入该数列的前两项,以后每个奇数编号的项是 前两项之和,偶数编号的项是前两相差的绝对值。生成的20个数放在一维数组x中,并按每行4项的形式输出。 5分 #include { int x[21],i,j; scanf(\ i=3; do{ x[i]= __(1)__ ; x[i+1]= __(2)__; i= __(3)__; } while(i<=20); for(i=1;i<=20;i++) { printf(\ if(i%4==0) printf(\ } } (1)答案 2分 x[i-1]+x[i-2] (2)答案 2分 x[i]>x[i-1]?x[i]-x[i-1]:x[i-1]-x[i] (3)答案 1分 i+2 3. 下面程序的功能是输入10个整数, 找出最大数和最小数所在的位置,并把二者对调,然后输出调整后的10个数。 5分 #include { int a[10], max,min,i,j,k; for(i=0;i<10;i++) scanf(\ min=max=a[0]; __(1)__ ; for(i=1;i<10;i++) if(a[i] printf(\ printf(\ for(i=0;i<10;i++) printf(\ printf(\} (1)答案 2分 k=j=0 (2)答案 2分 k=i (3)答案 1分 a[k]=max 三、程序设计题 (20分) 1. 母牛的故事 10分 题目描述 有一头母牛,它每年年初生一头小母牛。每头小母牛从第四个年头开始,每年年 初也生一头小母牛。请编程实现在第n年的时候,共有多少头母牛? 输入描述 输入数据每个测试实例包括一个整数n(0 输出描述 对于每个测试实例,输出在第n年的时候母牛的数量。 样例输入 5 样例输出 6 【参考答案】 #include { int a[55],n,i,j,x; a[1]=1;//第1年一头母牛 scanf(\ for(i=2;i<=n;i++) if(i<=4) a[i]=a[i-1]+1; // 前三年只有母牛能生小母牛 else a[i]=a[i-1]+a[i-3]; // 去年的母牛数加新生的小母牛 printf(\// 输出第n年的母牛数 } 2. 在数列中插入数据 10分 题目描述 有n(n≤20)个整数,已按从小到大顺序排列好,要求输入一个整数数,把它 插到数列中,使数列仍有序,并输出新的数列。(不允许重新排序) 输入描述 先输入数据个数n,再输入n个整数,最后输入要插入的数,输入时各数之间用空格隔开 输出描述 输出处理后的n+1个数,数据之间用空格分隔 样例输入 【参考答案2】 输入样例1: #include void main() { int a[21],n,i,j,x; 输入样例2: scanf(\4 -3 -1 7 20 28 for(i=0;i scanf(\输入样例3: scanf(“%d”,&x); 6 4 8 10 13 20 56 -5 for(i=0;i if(a[i]>x) break; // 查找x的插入位置 输出样例1: for(j=n-1;j>=i;j--) -7 2 6 8 10 15 a[j+1]=a[j]; // 比x大的数均后移 a[i]=x; // 将x插入到数组中 输出样例2: for(i=0;i<=n;i++) -3 -1 7 20 28 printf(\ printf(\输出样例1: } -5 4 8 10 13 20 56 【参考答案1】 #include { int i,n,a[21],x; scanf(\ for(i=0;i scanf(\ scanf(\ for(i=n-1;i>=0;i--) if(a[i]>x) a[i+1]=a[i]; // 比插入数据大的元素后移 else break; // 找到插入位置则退出循环 a[i+1]=x; // 将x插入到数组中 for(i=0;i printf(\ printf(\} C语言2作业7 一、选择题 (20分) 1.若有说明: int a[3][4]={0};则下面正确的叙述是____。 [D] A. 只有元素a[0][0]可得到初值0 B. 此说明语句不正确 C. 数组a中各元素都可得到初值,但其值不一定为0 D. 数组a中每个元素均可得到初值0 2.若有说明 int a[3][4];则对a数组元素的正确引用是____。 [C] A. a[2][4] B. a[1,3] C. a[1+1][0] D. a(2)(1) 3.在定义int a[5][6];后,a[3][3]前有____个元素。 [C] A. 14 B. 18 C. 21 D. 26 4.若定义如下变量和数组_________。 int j; int x[3][3]={1,2,3,4,5,6,7,8,9}; 则下面语句的输出结果是_________。 for (j=0;j<3;j++) printf(\ [C] A. 1 5 9 B. 1 4 7 C. 3 5 7 D. 3 6 9 5.以下能正确定义数组并正确赋初值的语句是______。 [D] 2分2分2分2分2分
C语言2作业参考答案(6)
2019-08-31 21:20
C语言2作业参考答案(6).doc
将本文的Word文档下载到电脑
下载失败或者文档不完整,请联系客服人员解决!