其他语言

位置:IT落伍者 >> 其他语言 >> 浏览文章

C语言编程笔试题(第十六套)


发布日期:2020年11月10日
 
C语言编程笔试题(第十六套)

编程题:

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

注意部分源程序给出如下

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

#include <stdioh>

#include <stringh>

#include <conioh>

#define? N?

typedef? struct? ss

{

char? num[];

int? s;

} STU;

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

{

}

main ( )

{

STU a[N]={ {&#;A&#;}{&#;A&#;}{&#;A&#;}{&#;A&#;}{&#;A&#;}

{&#;A&#;}{&#;A&#;}{&#;A&#;}{&#;A&#;}{&#;A&#;} } m? ;

int? i;

clrscr();

printf(&#;***** The original data *****\n&#;);

for ( i=; i<N; i++ )

printf(&#;N=%s? Mark=%d\n&#; a[i]numa[i]s);

fun ( a &m);

printf(&#;***** THE RESULT*****\n&#;);

printf(&#;The top? :? %s %d\n&#; mnum ms);

}

.学生的记录由学号和成绩组成N名学生的数据已在主函数中放入结构体数组s中请编写函数fun它的功能是把低于平均分的学生数据放在b所指的数组中低于平均分的学生人数通过形参n传回平均分通过函数值返回

注意部分源程序给出如下

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

#include? <stdioh>

#define ? N ?

typedef  struct

{

char? num[];

double  s;

}? STREC;

double? fun ( STREC? *a? STREC? *b? int? *n )

{

}

main()

{

STREC  s[N]={{&#;GA&#;} {&#;GA&#;} {&#;GA&#;} {&#;GA&#;}

{&#;GA&#;} {&#;GA&#;} {&#;GA&#;} {&#;GA&#; }};

STREC  h[N]; t;FILE *out ;

int? i j n;

double  ave;

ave=fun ( s h &n );

printf (&#;The %d student data which is lower than %f:\n&#; n ave );

for (i=; i<n; i++)

printf (&#;%s %f\n&#; h[i] num h[i] s);

printf (&#;\n&#;);

out=fopen (&#;outdat&#;&#;w&#;);

fprintf (out? &#;%d\n%f\n&#;? n? ave);

for (i=; i<n; i++)

for(j=i+;j<n;j++)

if(h[i]s>h[j]s)

{

t=h[i] ;

h[i]=h[j];

h[j]=t;

}

for(i=;i<n; i++)

fprintf (out &#;%f\n&#; h[i]s );

fclose (out );

}

改错题:

.下列给定程序中的函数Creatlink的功能是创建带头结点的单向链表并为各结点数据域赋到m的值

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

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

试题程序

#include <stdioh>

#include <conioh>

#include <stdlibh>

typedef struct aa

{

int data;

struct aa *next;

} NODE;

NODE *Creatlink(int n int m)

{

NODE *h=NULL *p *s;

int i;

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

h=p;

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

p>next=NULL;

for(i=;i<n;i++)

{

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

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

s>data=rand()%m;

s>next=p>next;

p>next=s;

p=p>next;

}

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

return p;

}

outlink(NODE *h)

{

NODE *p;

p=h>next;

printf(&#;\n\nTHE LIST :\n\n HEAD&#;);

while(p)

{

printf(&#;>%d &#;p>data);

p=p>next;

}

printf(&#;\n&#;);

}

main()

{

NODE *head;

clrscr();

head=Creatlink();

outlink(head);

}

.下列给定程序中函数fun的功能是实现两个整数的交换例如给a和b分别输

输出为a= b=

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

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

试题程序

#include <stdioh>

#include <conioh>

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

void fun(int aint b)

{

int t;

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

t=b;

b=a;

a=t;

}

main()

{

int ab;

clrscr();

printf(&#;Enter ab: &#;);

scanf(&#;%d%d&#;&a&b);

fun(&a&b);

printf(&#;a=%d b=%d\n&#;ab);

}

               

上一篇:C语言面试大全系列带面试题答案(23)

下一篇:Delphi中TApplication类的用法