手机扫码访问

导航
您当前的位置:首页 > 试卷大全 > 计算机类 > 计算机等级考试

2006年09月全国计算机等级考试二级C语言机试真题及答案

类型:全真试卷  解析:有解析  年份:2010以前

  填空题

  第1题、给定程序中,函数fun的功能是:将形参std所指结构体数组中年龄最大者的数据作为函数值返回,并在main函数中输出。请在程序的下画线处填入正确的内容,并把下画线删除,使程序得出正确的结果。[注意]部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在fun函数的横线上填入所编写的若干表达式或语句。_______[试题源程序]#includetypedefstruct{charname[10];intage;)STD;STDfun(STDstd[],intn){STDmax;inti;/**********found**********/max=(1);for(i=1;i

 

 

  参考答案:

  (1)*std(2)std[i].age(3)max.name

  答案解析:

  本题是从结构体中找出年龄最大的记录。填空1:给存放最大者max赋初值,所以应填:*std。填空2:当前最大者的年龄和结构中所有的年龄进行比较,所以应填:std[i].age。填空3:输出最大者的姓名和年龄,所以应填:max.name。

  改错题

  第2题、下列给定程序是建立一个带头结点的单向链表,并用随机函数为各结点赋值。函数fun()的功能是:将单向链表结点(不包括头结点)数据域为偶数的值累加起来,并作为函数值返回。其累加和通过函数值返回main()函数。例如,若n=5,则应输出8.391667。请改正程序中的错误,使它能得到正确结果。_______[注意]不要改动main函数,不得增 ……此处隐藏2869个字…… h->next=NULL;printf("Pleaseinputn:");scanf("%d",&n);for(i=1;i<=n;i++){p=(structaa*)malloc(sizeof(structaa));p->data=rand()%m;P->next=NULL;printf("%d",P->data);s->next=p;s=s->next;}fun(h);printf("\n");for(h=h->next;h!=NULL;h=h->nnext)printf("%d",h->data);}

 

 

  参考答案:

  voidfun(structas*p){inttemp;structas*1st;for(p=p->next;p->next!=NULL;p=p->next)for(1st=p->next;1st!=NULL;1st=1st->next)if(1st->data>p->data){temp=1st->data;1st->data=p->data;p->data=temp;}}

  答案解析:

  本题考查单链表的操作。为了交换,需定义中间变量,本题可以采用选择排序法进行排序。基本方法和对数组进行排序相似,只不过是通过指针的移动实现对比较次数的控制和每个结点的访问,注意循环结束的控制条件。

Tags:二级C语言机试 石油党建“每日答题”2019年9月26日试题及答案 石油党建“每日答题”2019年9月27日试题及答案 石油党建“每日答题”2019年9月29日
您可能感兴趣的试卷
相关试卷
关于我们 | 用户指南 | 版权声明 | 给我留言 | 联系我们 | 积分商城 | 答案求助 | 网站地图
Copyright © 2020 www.daanwo.com All Rights Reserved