2011计算机2级,2011年9月计算机二级考试上机填空题库

给定程序中,函数fun的作用是:统计整型变量m中各数字出现的次数,并存放到数组a中,其中:a[0]存放0出现的次数,a[1]存放1出现的次数,……

a[9]存放9出现的次数。

例如,若m为14579233,则输出结果应为:0,1,1,2,1,1,0,1,0,1,

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。

注意:源程序存放在考生文件夹下的BLANK1.C中。

不得增行或删行,也不得更改程序的结构!

#include

void fun( int m,

int a[10])

{ int

i;

for (i=0; i<10;

i++)

a[i]= 0;

while (m >

0)

{

i = m;

a[i]++;

m = m/10;

}

}

main()

{ int

m, a[10],i;

printf("请输入一个整数

:

"); scanf("%d",

&m);

fun(m,

a);

for (i=0;

i<10;

i++)

printf("%d,",a[i]);

printf("\n");

}

围绕山顶一圈有N个山洞,编号为0、1、2、3、……、N-1,有一只狐狸和一只兔子在洞中居住。狐狸总想找到兔子并吃掉它,它的寻找方法是先到第一个洞(即编号为0的洞)中找;再隔1个洞,即到编号为2的个洞中找;再隔2个洞,即到编号为5的洞中找;下次再隔3个洞;即到编号为9的洞中找;……。若狐狸找一圈,请为兔子指出所有不安全的洞号。程序中用a数组元素模拟一个洞,数组元素的下标即为洞号,数组元素中的值为0时,表示该洞安全,为1时表示该洞不安全。若形参n的值为30时,不安全的洞号是0、2、5、9、14、20、27。

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。

注意:源程序存放在考生文件夹下的BLANK1.C中。

不得增行或删行,也不得更改程序的结构!

#include

#define

N

100

void fun( int *a ,

int n )

{ int

i, t;

for( i=0;

i

a[i]=0;

i=0;

t=1;

while(

i

{ a[i]= 1;

t++;

i=i+t;

}

}

main()

{ int

a[N], i, n=30;

fun( a,

n);

for(i=0;

i

if( a[i]==1 ) printf("不安全的洞号是

: %d\n",i

);

}

给定程序的主函数中,已给出由结构体构成的链表结点a、b、c,各结点的数据域中均存入字符,函数fun()的作用是:将a、b、c三个结点链接成一个单向链表,并输出链表结点中的数据。

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。

注意:源程序存放在考生文件夹下的BLANK1.C中。

不得增行或删行,也不得更改程序的结构!

#include

typedef

struct list

{

char data;

struct

list *next;

} Q;

void fun( Q *pa, Q *pb, Q *pc)

{ Q

*p;

pa->next=pb;

pb->next=pc;

p=pa;

while( p

)

{

printf("

%c",p->data);

p=p->next;

}

printf("\n");

}

main()

{ Q

a, b, c;

a.data='E';

b.data='F';

c.data='G'; c.next=NULL;

fun(

&a, &b, &c

);

}

函数fun的功能是:输出a所指数组中的前n个数据,要求每行输出5个数。

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。

注意:源程序存放在考生文件夹下的BLANK1.C中。

不得增行或删行,也不得更改程序的结构!

#include

#include

void fun( int *a, int n )

{ int

i;

for(i=0;

i

{

if( i%5==0 )

printf("\n");

printf("%d ",a[i]);

}

}

main()

{ int

a[100]={0}, i,n;

n=22;

for(i=0;

i

fun( a,

n);

printf("\n");

}

给定程序中,函数fun的功能是:在任意给定的9个正整数中找出按升序排列时处于中间的数,将原数据序列中比该中间数小的数用该中间数替换,位置不变,在主函数中输出处理后的数据序列,并将中间数作为函数值返回。

例如,有9个正整数:1

5 7

23 87

5 8

21 45

按升序排列时的中间数为:8

处理后主函数中输出的数列为:8

8 8

23 87

8 8

21 45

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。

注意:源程序存放在考生文件夹下的BLANK1.C中。

不得增行或删行,也不得更改程序的结构!

#include

#define

N

9

int fun(int x[])

{ int

i,j,k,t,mid,b[N];

for(i=0;i

for(i=0;i<=N/2;i++)

{ k=i;

for(j=i+1;j

if(b[k]>b[j])

k=j;

if(k

!= i )

{

t=b[i]; b[i]=b[k]; b[k]=t;

}

}

mid=b[N/2];

for(i=0;

i

if(x[i]

return mid;

}

main()

{ int

i, x[N]={1,5,7,23,87,5,8,21,45};

for(i=0;

i

",x[i]);

printf("\nThe mid

data is: %d\n",fun(x));

for(i=0;

i

",x[i]);

printf("\n");

}

函数fun的功能是:计算

blog_506fd09c0100wxxp.html

直到blog_506fd09c0100wxxp.html。若x=2.5,函数值为:1.917915。

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。

注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!

#include

#include

double fun(double x)

{

double f,

t;

int n;

f = 1.0 +

x;

t = x;

n = 1;

do {

n++;

t *= (-1.0)*x/n;

f += t;

}

while (fabs(t)>= 1e-6);

return f;

}

main()

{ double x,

y;

x=2.5;

y =

fun(x);

printf("\nThe

result is :\n");

printf("x=%-12.6f

y=%-12.6f\n", x, y);

}

程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。函数fun的功能是将形参a中的数据进行修改,并把a中地址作为函数值返回主函数,在主函数中输出修改后的数据。

例如:a所指变量s中的学号、姓名、和三门课的成绩依次是:10001、" ZhangSan

"、95、80、88,修改后输出t中的数据应为:10002、"LiSi "、96、81、89。

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。

注意:源程序存放在考生文件夹下的BLANK1.C中。

不得增行或删行,也不得更改程序的结构!

#include

#include

struct student {

long

sno;

char

name[10];

float score[3];

};

struct student *fun(struct student

*a)

{ int i;

a->sno =

10002;

strcpy(a->name,

"LiSi");

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

a->score[i] += 1;

return a ;

}

main()

{ struct student

s={10001,"ZhangSan", 95, 80, 88},

*t;

int

i;

printf("\n\nThe original data

:\n");

printf("\nNo:

%ld Name:

%s\nScores: ",s.sno,

s.name);

for (i=0; i<3;

i++) printf("%6.2f ",

s.score[i]);

printf("\n");

t =

fun(&s);

printf("\nThe data after modified

:\n");

printf("\nNo:

%ld Name:

%s\nScores: ",t->sno,

t->name);

for (i=0; i<3;

i++) printf("%6.2f ",

t->score[i]);

printf("\n");

}

给定程序中,函数fun的功能是:把形参s所指字符串中最右边的n个字符复制到形参t所指字符数组中,形成一个新串。若s所指字符串的长度小于n,则将整个字符串复制到形参t所指字符数组中。

例如,形参s所指的字符串为:abcdefgh,n的值为5,程序执行后t所指字符数组中的字符串应为:defgh。

请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。

注意:源程序存放在考生文件夹下的BLANK1.C中。

不得增行或删行,也不得更改程序的结构!

#include

#include

#define

N 80

void fun(char *s,

int n,

char *t)

{ int len,i,j=0;

len=strlen(s);

if(n>=len)

strcpy(t,s);

else {

for(i=len-n; i<=len-1;

i++) t[j++]= s[i];

t[j]='\0';

}

}

main()

{ char

s[N],t[N];

int n;

printf("Enter a

string: ");gets(s);

printf( "Enter

n:");

scanf("%d",&n);

fun(s,n,t);

printf("The string t

: ");

puts(t);

}

给定程序中,函数fun的功能是:在3×4的矩阵中找出在行上最大、在列上最小的那个元素,若没有符合条件的元素则输出相应信息。

例如,有下列矩阵:

1

2

13

4

7

8

10

6

3

5

9

7

程序执行结果为:find:a[2][2]=9

请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。

注意:源程序存放在考生文件夹下的BLANK1.C中。

不得增行或删行,也不得更改程序的结构!

#include

#define

M 3

#define

N 4

void fun(int (*a)[N])

{ int

i=0,j,find=0,rmax,c,k;

while( (i

&& (!find))

{

rmax=a[i][0]; c=0;

for(j=1; j

if(rmax

rmax=a[i][j]; c=j; }

find=1; k=0;

while(k

{

if (k!=i &&

a[k][c]<=rmax)

find=0;

k++;

}

if(find) printf("find: a[%d][%d]=%d\n",i,c,a[i][c]);

i++;

}

if(!find) printf("not

found!\n");

}

main()

{ int x[M][N],i,j;

printf("Enter number for

array:\n");

for(i=0; i

i++)

for(j=0; j

scanf("%d",&x[i][j]);

printf("The array:\n");

for(i=0; i

i++)

{

for(j=0; j

printf("\n\n");

}

fun(x);

}

给定程序中,函数fun的功能是:将a所指4×3矩阵中第k行的元素与第0行元素交换。

例如,有下列矩阵:

1

2

3

4

5

6

7

8

9

10

11 12

若k为2,程序执行结果为:

7

8

9

4

5

6

1

2

3

10

11 12

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。

注意:源程序存放在考生文件夹下的BLANK1.C中。

不得增行或删行,也不得更改程序的结构!

#include

#define

N 3

#define

M 4

void fun(int (*a)[N], int k)

{ int i,temp ;

for(i=0; i

i++)

{ temp=a[0][i];

a[0][i]=a[k][i];

a[k][i]=temp;

}

}

main()

{ int x[M][N]={ {1,2,3},{4,5,6},{7,8,9},{10,11,12}

},i,j;

printf("The array before

moving:\n\n");

for(i=0; i

i++)

{

for(j=0; j

printf("\n\n");

}

fun(x,2);

printf("The array after

moving:\n\n");

for(i=0; i

i++)

{

for(j=0; j

printf("\n\n");

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
2017全国计算机考试二c语言笔试 上机(全)包括以下几个题目: 1.编写一个程序,计算从1到100的所有整数的和并输出。 2.编写一个程序,从键盘输入一个整数,判断该数是否为质数并输出结果。 3.编写一个程序,从键盘输入一个整数n,计算并输出n的阶乘。 4.编写一个程序,从键盘输入两个整数a和b,计算并输出它们的最大公约数和最小公倍数。 5.编写一个程序,从键盘输入一个正整数,判断该数是否为完全数并输出结果。完全数是指所有真因子(除了它本身以外的约数)的和等于它本身的数。 6.编写一个程序,从键盘输入一个正整数n,判断该数是否为回文数并输出结果。回文数是指从前往后读和从后往前读都相同的数。 7.编写一个程序,将两个字符串s1和s2连接在一起,并输出结果。 8.编写一个程序,从键盘输入一个字符串,统计并输出其字母的个数、数字的个数和其他字符的个数。 9.编写一个程序,从键盘输入一个字符串,判断该字符串是否为回文字符串并输出结果。回文字符串是指正着读和倒着读都相同的字符串。 以上是2017全国计算机考试二c语言笔试上机的全部内容。考试涵盖了对C语言的基本运用、算法设计和编码能力的考察,通过完成这些题目,可以全面检验考生的C语言编程水平。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值