设为首页 加入收藏

TOP

C语言编程笔试题(第二十一套)
2014-11-24 01:23:02 来源: 作者: 【 】 浏览:6
Tags:语言编程 试题 二十一

编程题:


79.已知学生的记录由学号和学习成绩构成,N名学生的数据已存入a结构体数组中。请编写函数fun,该函数的功能是:找出成绩最低的学生记录,通过形参返回主函数(规定只有一个最低分)。已给出函数的首部,请完成该函数。


注意:部分源程序给出如下。


请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。


#include


#include


#include


#define N 10


typedef struct ss


{


char num[10];


int s;


} STU;


void fun( STU a[], STU *s)


{


}


main()


{


STU a[N]={ {“A01″,81},{“A02″,89},{“A03″,66},{“A04″,87},{“A05″,77},


{“A06″,90},{“A07″,79},{“A08″,61},{“A09″,80},{“A10″,71} }, m ;


int i;


clrscr();


printf(“**** The original data *****\n”);


for(i=0;i

printf(“N0=%s Mark=%d\n”, a[i].num,a[i].s);


fun( a,&m);


printf(“***** THE RESULT *****\n”);


printf(” The lowest : %s ,%d\n”, m.num, m.s);


}



81.请编写函数,其功能是:将两个两位数的正整数a、b合并形成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放住c数的百位和个位上,b数的十位和个位数依次放c数的千位和十位上。


例如,a=45,b=12,调用该函数后,c=1425。


注意:部分源程序给出如下。


请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的


若干语句。


#include


#include



void fun (int a, int b, long *c)


{


}



main ()


{


int a, b;


long c;


clrscr ();


printf (“Input a, b:”);


scanf (“%d%d”, &a, &b);


fun ( a, b, &c );


printf (“The result is: %ld\n”, c);


}



改错题:


41.下列给定程序是建立一个带头结点的单向链表,并用随机函数为各结点赋值。函数fun的功能是将单向链表结点(包括头结点)数据域为偶数的值累加起来,并且作为函数值返回。


请改正程序中的错误,使它能得出正确的结果。


注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!


试题程序:


#include


#include


#include


typedef struct aa


{


int data;


struct aa *next;


}NODE;


int fun(NODE *h)


{


int sum=0;


NODE *p;


p=h;


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


while(p->next)


{


if(p->data%2==0)


sum +=p->data;


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


p=h->next;


}


return sum;


}


NODE *creatlink(int n)


{


NODE *h, *p, *s, *q;


int i, x;


h=p=(NODE *)malloc(sizeof(NODE));


for(i=1;i

{


s=(NODE *)malloc(sizeof(NODE));


s->data=rand()%16;


s->next=p->next;


p->next=s;


p=p->next;


}


p->next=NULL;


return h;


}


outlink(NODE *h,FILE *pf)


{


NODE *p;


p=h->next;


fprintf(pf,”\n\nTHE LIST :\n\n HEAD”);


while(p)


{


fprintf(pf,”->%d”,p->data);


p=p->next;


}


fprintf(pf,”\n”);


}


outresult(int s,FILE*pf)


{


fprintf(pf,”\nThe sum of even numbers : %d\n”,s);


}


main()


{


NODE *head;


int even;


clrscr();


head=creatlink(12);


head->data=9000;


outlink(head, stdout);


even=fun(head);


printf(“\nThe result :\n”);


outresult(even, stdout);


}




42.下列给定程序中.函数fun的功能是:将字符串s中位于奇数位置的字符或ASCII码为偶数的字符依次放入字符串t中。例如,字符串中的数据为AABBCCDDEEFF,则输出应当是ABBCDDEFF。


请改正函数fun中的错误.使它能得出正确的结果。


注意:不要改动main函敛,不得增行或删行;也不得更改程序的结构!


试题程序:


#include


#include


#include


#define N 80


void fun(char *s, char t[])


{


int i, j=0;


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


for(i=0; i

if(i%2 && s[i]%2==0)


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


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


t[i]=’\0′;


}


main()


{


char s[N], t[N];


clrscr();


printf(“\nPlease enther string s:”);


gets(s);


fun(s, t);


printf(“\nThe result is : %s\n”,t);


}


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇C语言编程笔试题(第二十套) 下一篇C语言编程笔试题(第二十二套)

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: