计算机二级C语言机试题库(8)

2018-11-19 21:11

计算机等级考试二级C语言内部教材

void fun(int (*a) __1__) [N] { int i,j,k,m; if(N%2==0) m=N/2 ; else m=N/2+1; for(i=0; i

for(j= __2__ ; j

a[k][i]=a[k][N-i-1]= __3__; i+1 } } main()

{ int x[N][N]={0},i,j; fun(x);

printf(\for(i=0; i

{ for(j=0; j

解题思路:

第一处:建立一个N×N的矩阵,所以应填:[N]。 第二处:j的起始变量值应i。 第三处:也应该填写i+1。

第36套

给定程序中,函数fun的功能是:统计出带有头结点的单向链表中结点的个数, 存放在形参n所指的存储单元中。

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! 给定源程序: #include #include #define N 8

typedef struct list { int data; struct list *next; } SLIST;

SLIST *creatlist(int *a); void outlist(SLIST *); void fun( SLIST *h, int *n) { SLIST *p;

/**********found**********/

36

计算机等级考试二级C语言内部教材

___1___=0; *n p=h->next; while(p) { (*n)++;

/**********found**********/

p=p->___2___; next } } main()

{ SLIST *head;

int a[N]={12,87,45,32,91,16,20,48}, num; head=creatlist(a); outlist(head); /**********found**********/

fun(___3___, &num); head printf(\}

SLIST *creatlist(int a[]) { SLIST *h,*p,*q; int i;

h=p=(SLIST *)malloc(sizeof(SLIST)); for(i=0; i

{ q=(SLIST *)malloc(sizeof(SLIST)); q->data=a[i]; p->next=q; p=q; }

p->next=0; return h; }

void outlist(SLIST *h) { SLIST *p; p=h->next;

if (p==NULL) printf(\else

{ printf(\do

{ printf(\while(p!=NULL); printf(\} }

解题思路:

本题是要求统计出带有头结点的单向链表中结点的个数。 第一处:对n所指的存储单元进行初始化,所以应填:*n。 第二处:指向p的下一个结点,所以应填:next。

第三处:函数调用,在主函数中已经给出了head,所以应填:head。

第37套

给定程序中,函数fun的功能是:在形参ss所指字符串数组中,查找含有形参substr所指子串的所有字符串

37

计算机等级考试二级C语言内部教材

并输出,若没找到则输出相应信息。ss所指字符串数组中共有N个字符串,且串长小于M。程序中库函数strstr(s1, s2)的功能是在s1串中查找s2子串,若没有,函数值为0,若有,为非0。 请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! 给定源程序: #include #include #define N 5 #define M 15

void fun(char (*ss)[M], char *substr) { int i,find=0;

/**********found**********/

for(i=0; i< __1__ ; i++) N /**********found**********/

if( strstr(ss[i], __2__) != NULL ) substr { find=1; puts(ss[i]); printf(\/**********found**********/

if (find==__3__) printf(\} main()

{ char x[N][M]={\int i;

printf(\for(i=0;i

printf(\fun(x,str); }

解题思路:

本题是根据给定的字符串数组中查找指定的字符串,如果存在,则显示。

第一处:利用for循环,从几个字符串中进行查找,程序中已经给定了N个字符串,所以应填:N。 第二处:查找子串,子串由形参substr传递,所以应填:substr。 第三处:试题要求,若没有找到,函数值为0,所以应填:0。

第38套

函数fun的功能是:把形参a所指数组中的奇数按原顺序依次存放到a[0]、a[1]、a[2]、??中,把偶数从数组中删除,奇数个数通过函数值返回。例如:若a所指数组中的数据最初排列为:9、1、4、2、3、6、5、8、7,删除偶数后a 所指数组中的数据为:9、1、3、5、7,返回值为5。

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! 给定源程序: #include #define N 9

int fun(int a[], int n) { int i,j;

38

计算机等级考试二级C语言内部教材

j = 0;

for (i=0; i

/**********found**********/

if (a[i]%2==___1___) 1 {

/**********found**********/

a[j] = a[i]; ___2___; j++ }

/**********found**********/

return ___3___; j } main()

{ int b[N]={9,1,4,2,3,6,5,8,7}, i, n; printf(\for (i=0; i

printf(\printf(\

for (i=0; i

解题思路:

第一处:判断a[i]是否是奇数,若是,则仍保留在原数组中a[j],所以应填:1。 第二处:数组a中的元素位置由j来控制,每增加一个元素,则j加1,所以应填:j++。 第三处:返回删除偶数后a所指数组中数据的元素j,所以应填:j。

第39套

给定程序中,函数fun的功能是:在形参ss所指字符串数组中,删除所有串长超过k的字符串,函数返回所剩字符串的个数。ss所指字符串数组中共有N个字符串,且串长小于M。

请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! 给定源程序: #include #include #define N 5 #define M 10

int fun(char (*ss)[M], int k) { int i,j=0,len;

/**********found**********/

for(i=0; i< __1__ ; i++) N { len=strlen(ss[i]); /**********found**********/

if(len<= __2__) k /**********found**********/

39

计算机等级考试二级C语言内部教材

strcpy(ss[j++],__3__); ss[i] }

return j; } main()

{ char x[N][M]={\int i,f;

printf(\for(i=0;i

printf(\for(i=0; i

解题思路:

本题是根据给定的字符串数组中删除串长大于某个值的字符串。

第一处:利用for循环,从几个字符串中进行查找,程序中已经给定了N个字符串,所以应填:N。 第二处:串长由形参k来传递,所以应填:k。

第三处:如果字符串ss[i]的串长小于k,则该字符串仍存在原字符串数组中,位置由变量j来控制,所以应填:ss[i]。

第40套

给定程序中已建立一个带有头结点的单向链表,链表中的各结点按结点数据域中的数据递增有序链接。函数fun的功能是:把形参x的值放入一个新结点并插入到链表中,插入后各结点数据域的值仍保持递增有序。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! 给定源程序: #include #include #define N 8

typedef struct list { int data; struct list *next; } SLIST;

void fun( SLIST *h, int x) { SLIST *p, *q, *s;

s=(SLIST *)malloc(sizeof(SLIST)); /**********found**********/

s->data=___1___; x q=h; p=h->next;

while(p!=NULL && x>p->data) { /**********found**********/

q=___2___; p p=p->next; }

40


计算机二级C语言机试题库(8).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:爆炸冲击波

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

马上注册会员

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