C语言2作业参考答案(6)

2019-08-31 21:20

(0

5分

#include void main() { int n,k;

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 void main()

{ 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 void main()

{ 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]max) { max=a[i]; j=i; } a[j]=min; __(3)__ ;

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 void main()

{ 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 5 -7 2 6 10 15 8

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 void main()

{ 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).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:八年级数学上期第一次学段测试

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: