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

2019-03-16 13:35

else

printf(\}

2. 双胞胎数

10分

题目描述

除1和它本身外,不能被其它整数整除的正整数称为素数(注:1不是素数,2是素数)。若两素数之差为2 ,则称两素数为双胞胎数,给定一段连续的正整

数,请判断其中有多少对双胞胎数。要求将判断某数是否素数写成函数。

输入描述

输入数据包含2个正整数A和B(0

输出描述

请判断并输出[A,B]范围内一共有多少对双胞胎数。

样例输入

31 601

样例输出

22 【参考答案】

#include int prime(int x) { int i,k;

if(x<2) return 0; k=sqrt(x);

for(i=2;i<=k;i++)

if (x%i==0) return 0; return 1; }

void main()

{ int i,n=0,a,b;

scanf(\ for(i=a;i<=b-2;i++)

if (prime(i)&&prime(i+2)) n++;

printf(\}

C语言2作业4

一、选择题 (20分)

1.下列能正确定义一维数组a的语句是____。

A.int a(10); B.int n=10,a[n];

C.int n;scanf(\,&n);int a[n]; D.#define n 10 int a[n];

[D]

A. A B. B C. C D. D

2分

2.若有定义语句“int a[10];”则下列对a中数组元素正确引用的是______。

[A]

A. a[10/2–5] B. a[10] C. a[4.5] D. a(1)

2分

3.设有程序: main()

{ int i,a[11];

printf(\给数组赋值:\\n\; for (i=0;i<=10;i++)

scanf(\,( )); ... ...

printf(\输出数组:\\n\; for(i=0;i<=10;i++)

printf(\; }

则在程序中的两个园括号中分别应填入:______

[C]

2分

A. &a[i]和&a[i] B. a[i]和&a[i] C. &a[i]和a[i] D. a[i]和a[i]

4.阅读程序:

#include void main()

{ int a[2]={0},i,j,k=2; for(i=0;i

以上程序的输出结果是____。

[D]

2分

A. 1 B. 2 C. 3 D. 不确定的值

5.若定义数组int a[10] ,其最后一个数组元素为______。

[C]

A. a[0] B. a[1] C. a[9] D. a[10]

2分

6.若定义数组并初始化int a[10]={ 1,2,3,4},以下哪一个不成立______。

[B]

2分

A. a[8] 的值为0 B. a[1] 的值为1 C. a[3] 的值为4 D. a[9] 的值为0

7.在定义一个一维数组时,不能用来表示数组长度的是______。

[D]

2分

A. 常量 B. 符号常量 C. 常量表达式 D. 已被赋值的变量

8.若float型变量占用4个字节,有定义float a[20]={1.1,2.1,3.1};则数组a在内存中所占的字节数是______。

[D]

A. 12 B. 20 C. 40 D. 80

2分

9.以下程序的输出结果是______。 #include void main()

{ int i, k, a[10], p[3]; k=5;

for (i=0;i<10;i++) a[i ]=i;

for (i=0;i<3;i++) p[i ]=a[i *(i+1)]; for (i=0;i<3;i++) k+=p[i] *2; printf(\}

[B]

A. 20 B. 21 C. 22 D. 23

2分

10.有以下程序 main()

{ int p[7]={11,13,14,15,16,17,18}, i=0,k=0; while(i<7 && p[i]%2) { k =k+ p[i]; i++; } printf(\}

执行后输出结果是_______。

[D]

A. 58 B. 56 C. 45 D. 24

2分

二、程序设计题 (20分) 1. 与平均值最接近的数

10分

题目描述

输入n(n≤20)和n个实数,输出平均值及与平均值相差最小的数(若有多个,只需输出第一个)。

输入描述

输入n和n个实数,各数之间用空格分隔

输出描述

第一行输出平均值,第二行输出与平均值相差最小的数。输出结果均保留两位小数。

样例输入

6 2.3 4 -5 8.5 -9 15

样例输出

2.63 2.30

【参考答案1】

【参考答案2】 #include #include #define N 20 void main()

{ double x[N],v,d; int i,n;

scanf(\

for(i=0,v=0;i

for(i=1;i

if(fabs(d-v)>fabs(x[i]-v)) d=x[i];

printf(\}

#include #include #define N 20 void main() { double a[N],v=0; int i,k=0,n; scanf(\// 实际元素个数 for(i=0;i

10分

题目描述

输入n(n≤20)和n个整数放在一维数组中,找出其中最大的数,将它与数组最前面的元素交换后输出这些数。 输入描述

【参考答案2】 #include void main() 输出描述

{ int a[20],max,k,i,n; 输出数据占一行,数据间用一个空格分开。 scanf(\样例输入

for(i=0;i

scanf(\样例输出

max=a[0]; 112 99 34 78 67

k=0; // 用来记录最大元素下标 【参考答案1】

for(i=1;i

if(a[i]>max) #define N 20

{ max=a[i]; // max放最大元素值 void main()

k=i; } // 还要记录最大元素下标 { int a[N],n;

a[k]=a[0];a[0]=max; //原元素值在max中 int i,k=0,t;

for(i=0;i

printf(\ for(i=0;i

} scanf(\

// 思考:若交换时用语句t=a[0];a[0]=max; for(i=1;i

// max=t; 有何问题? if(a[k]

t=a[k];a[k]=a[0]; a[0]=t; for(i=0;i

printf(\ printf(\ }

C语言2作业5

一、判断题 (12分)

1. 如果想使一个数组中全部元素的值为1,可以写成 int a[10]={1*10};

2分

2. C允许对数组的大小作动态定义,即可用变量定义数组的大小。

2分

3. 数组定义 int a[10]; 也可以写成 int a(10); 。

2分

4. 在对全部数组元素赋初值时,可以不指定数组长度。

2分

5. 数组定义 int a[10]; 表示数组名为a,此数组有10个元素。

2分

6. 数组定义 int a[10]; 表示数组名为a,此数组有10个元素,第10个元素为a[10]。 2

二、选择题 (8分)

1.下面的程序中哪一行有错误____。 #include void main()

{ float array[5]={0.0}; //第A行 int i;

for(i=0;i<5;i++)

scanf(\ for(i=1;i<5;i++)

array[0]=array[0]+array[i];//第B行 printf(\第C行 }

[D]

2分

A. 第A行 B. 第B行 C. 第C行 D. 没有

2.int a[4]={5,3,8,9};其中 a[3]的值为______。

[D]

A. 5 B. 3 C. 8 D. 9

2分


C语言2作业参考答案(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:新课标人教版小学六年级下册语文单元备课主讲稿 全册 - 图文

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

马上注册会员

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