二级C笔试

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

试题5(每小题3分,共12分)

【程序】

int f1(int n)

{ if(n==1) return 1 ;

else return f1(n-1) + n;

}

int f2(int n)

{ switch(n){

case 1:

case 2:return 1;

default: return f2(n-1) + f2(n-2);

}

}

void f3(int n)

{ printf(“%d”,n%10);

if(n/10 !=0) f3(n/10);

}

void f4(int n)

{ if (n/10 !=0) f4(n/10);

printf(“%d”, n%10);

}

#include

main()

{ printf(“%d\n”,f1(4));

printf(“%d\n”,f2(4));

f3(123);

printf(“\n”);

f4(123);

printf(“\n”);

}

(17) 程序运行时,第1行输出(17) 。

A、10

B、24

C、6

D、1

(18) 程序运行时,第2行输出(18) 。

A、1

B、3

C、2

D、4

(19) 程序运行时,第3行输出(19) 。

A、123

B、3

C、321

D、1

(20) 程序运行时,第4行输出(20) 。

A、1

B、123

C、3

D、321 试题6(每小题3分,共12分)

#include

struct num{ int a,b;};

void f(struct num s[], int n)

{ int index, j, k;

struct num temp;

for(k=0;k< n-1;k++){

index=k;

for(j=k+1;j

if(s[j].b

temp=s[index];

s[index]=s[k];

s[k]=temp;

}

}

main()

{ int count, i, k, m, n, no;

struct num s[100],*p;

scanf(“%d%d%d”, &n, &m, &k);

for(i=0;i

s[i].a=i+1;

s[i].b=0;

}

p=s;

count = no =0;

while(no

if(p->b==0) count++;

if(count==m){

no++;

p->b=no;

count=0;

}

p++;

if(p==s + n)

p=s;

}

f(s,n);

printf(“%d: %d\n”, s[k-1].b, s[k-1].a);

}

(21) 程序运行时,输入5 4 3,输出(21) 。

A、3: 5

B、2: 3

C、1: 2

D、4: 1

(22) 程序运行时,输入5 3 4,输出(22) 。

A、3: 5

B、1: 2

C、4: 3

D、4: 2

(23) 程序运行时,输入7 5 2,输出(23) 。

A、1: 5

B、6: 1

C、2: 3

D、2: 4

(24) 程序运行时,输入4 2 4#,输出(24) 。

A、3: 3

B、4: 2

C、2: 4

D、4: 1

⒄ A ⒅ B ⒆ C ⒇ B (21)A (22)D (23)C (24)D

试题7

1.定义函数fact(n)计算n的阶乘:n!=1*2*……*n,函数形参n的类型是int,函数类型是double。

2.定义函数cal(x, e)计算下列算式的值,直到最后一项的值小于e,函数形参x和e的类型都是double,函数类型是double。要求调用自定义函数fact(n)计算n的阶乘,调用库函数pow(x, n)计算x的n次幂。

S=x+x^2/2!+x^3/3!+x^4/4!+……

3.定义函数main(),输入两个浮点数x和e,计算并输出下列算式的值,直到最到最后一项的值小于精度e。要求调用自定义函数cal(x,e)计算下列算式的值。

S=x+x^2/2!+x^3/3!+x^4/4!+……

#include

#include

double fact(int n)

{

double p=1;

int i;

for(i=1;i<=n;i++) p=p*i; return p; }

double cal(double x,double e) {

double s=0,t; int i=1; do{

t=pow(x,i)/fact(i); s=s+t; i++; }while(t>=e); return s; }

void main() {

double x,e,s;

scanf("%lf%lf",&x,&e); s=cal(x,e);

printf("s=%f\n",s); }

一、程序阅读与填空(24小题,每小题3分,共72分)

【程序说明】

计算并输出下式的值,要求精确到最后一项的绝对值小于10-3(保留4位小数)。

⋯+-+-

=10

1

71411s 运行示例: sum = 0.8361 【程序】 #include

#include main()

{ int denominator = 1, flag = 1; double item, sum=0; ___(1)____ while(____(2)___){ ___(3)____ denominator =denominator + 3; flag = -flag; } printf("sum=___(4)____\n", sum);

}

相关文档
最新文档