好文档 - 专业文书写作范文服务资料分享网站

历年全国计算机等级考试 - 二级C语言上机考试题库及答案

天下 分享 时间: 加入收藏 我要投稿 点赞

void fun (long s, long *t) { int d; long sl=1; *t = 0;

while ( s > 0) { d = s;

/************found************/ if (d%2=0)

{ *t=d* sl+ *t; sl *= 10; }

/************found************/ s \\= 10; } } 程序

函数fun的功能是:将两个两位数的正整数a,b合并成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的千位和十位上,b数的十位和个位数依次放在c数的百位和个位上。 例如:a=45,b=12时,调用该函数后,c=5142 注意:部分源程序存在文件PROG1.C中。数据文件IN.DAT中的数据不得修改。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。

4、B: “r” fs ft M: (d%2==0) s /= 10; P: *c=(a)*1000+(b/10)*100+(a/10)*10+(b); 5. 填空 给定程序中已建立一个带有头结点的单向链表,链表中的各节点按结点数据域中的数据递增有序链表。函数fun的功能是:把形参x的值放入一个新结点并插入到链表中,插入后结点数据域的值仍保持递增有序。 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___; q=h;

p=h->next;

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

p=p->next; }

s->next=p;

/**********found**********/ q->next=___3___; }

修改

给定程序MODI1.C中函数fun的功能是:计算正整数num的各位上的数字之积。例如,若输入:252,则输入应该是:20.若输入:202,则输出应该是:0. long fun (long num) {

/************found************/ long k; do

{ k*=num ;

/************found************/ num\\=10 ; } while(num) ; return (k) ; }

请编写一个函数fun,它的功能是:它的功能是:计算n门课程的平均分,计算结果作为函数值返回。 例如:若有5门课程的成绩是:90.5,72,80,61.5,55 则函数的值为:71.80

5、B: x p s

M: long k=1; num/=10 ;

P: int i; float ave=0.0; for(i=0; i

void fun( SLIST *p) { SLIST *t, *s; t=p->next; s=p; while(t->next != NULL) { s=t;

/**********found**********/ t=t->___1___;

}

/**********found**********/ printf(\ s->next=NULL;

/**********found**********/ free(___3___); } 修改

给定程序MODI1.C中函数fun的功能是:将字符串中的字符按逆序输出,单补改变字符串中的内容。

例如,若字符串味abcd,则应输出:dcba

/************found************/ fun (char a) { if ( *a )

{ fun(a+1) ;

/************found************/ printf(\ } } 程序

请编写一个函数fun,他的功能是:比较两个字符串的长度(不得调用c语言提供的求字符串长度的函数),函数返回较长的字符串。若两个字符串长度相同,则返回第一个字符串。

例如,输入beijingshanghai(为回车键),函数将返回shanghai 6、B: next t->data t

M: fun (char *a) printf(\ P: int i; char *p=s, *q=t;

for(i=0;*p && *q; i++) { p++; q++;

}

if(*p == 0 && *q == 0) return s ; if(*p) return s ; else return t ;

7. 填空

给定程序中建立一个带有头结点的单向链表,链表中的各节点按数据域递增有序连接。函数fun的功能是:删除链表中数据域值相同的结点,使之只保留一个 typedef struct list { int data;

struct list *next; } SLIST;

void fun( SLIST *h)

{ SLIST *p, *q; p=h->next; if (p!=NULL) { q=p->next;

while(q!=NULL)

{ if (p->data==q->data) { p->next=q->next; /**********found**********/ free(___1___); /**********found**********/ q=p->___2___; } else { p=q;

/**********found**********/ q=q->___3___; } } } } 修改

给定程序MODI1.C中函数fun的功能是:用选择法对数组中的n个元素按从小到大的顺序进行排序。 void fun(int a[], int n) { int i, j, t, p;

for (j = 0 ;j < n-1 ;j++) { /************found************/ p = j for (i = j;i < n; i++) if(a[i] < a[p]) /************found************/ p = j;

t = a[p] ; a[p] = a[j] ; a[j] = t; } }

请编写一个函数fun,它的功能是:求出1到m之间(含m)能被7或11整除的所有整数放在数组a中,通过n返回这些数的个数。例如,若传3送给m的之位50,则程序输出:7 11 14 21 22 18 33 35 42 44 49 答案:

7、B: q next next M: p = j; p=i; P: int i ; *n=0 ;

for(i=7 ; i<=m; i++)

if((i % 7 == 0) || (i % 11 == 0)) a[(*n)++]=i ;

8. 填空

给定程序中,函数fun的gongn是:在带有头结点的单向链表中,查找数据域中值为ch的结点。找到后通过函数值返回改结点在链表中所处的顺序号;若不存在值为ch的结点,函数返回0值

typedef struct list { int data;

struct list *next; } SLIST;

SLIST *creatlist(char *); void outlist(SLIST *);

int fun( SLIST *h, char ch) { SLIST *p; int n=0; p=h->next;

/**********found**********/ while(p!=___1___) { n++;

/**********found**********/ if (p->data==ch) return ___2___; else p=p->next; }

return 0; }

修改

给定程序MODI1.C中函数fun的功能是:删除p所指字符串中的所有空白字符(包括制表符,回车符及换行符)

输入字符串是用“#”结束输入。 fun ( char *p) { int i,t; char c[80]; /************found************/ For (i = 0,t = 0; p[i] ; i++) if(!isspace(*(p+i))) c[t++]=p[i]; /************found************/ c[t]=\ strcpy(p,c); }

程序

请编写一个函数fun,它的功能是:将ss所指字符串中所有下标为奇数位置上的字母转换成大写(若该位置上不是字母,则不转换) 例如:若输入“abc4EFg”,则应输出“aBc4Efg”。 答案:

8、B: NULL n head,ch M: for c[t]='\\0';

P: int i ; for(i = 1 ; i < strlen(*ss) ; i+=2) { if(ss[i] >= 'a' && ss[i] <= 'z') ss[i] -= 32 ;

历年全国计算机等级考试 - 二级C语言上机考试题库及答案

voidfun(longs,long*t){intd;longsl=1;*t=0;while(s>0){d=s;/************found************/if(d%2=0){*t=d*sl+
推荐度:
点击下载文档文档为doc格式
5meg700zsa83uyx977bp
领取福利

微信扫码领取福利

微信扫码分享