栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > C++面试题库

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

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

编程题:

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

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

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

#include <stdio.h>

#include <string.h>

#include <conio.h>

#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<N; i++)

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

fun( a,&m);

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

printf(” The lowest : %s ,%dn”, m.num, m.s);

}

 

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

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

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

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

若干语句。

#include  <conio.h>

#include  <stdio.h>

 

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:  %ldn”,  c);

}

 

改错题:

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

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

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

试题程序:

#include<stdio.h>

#include<conio.h>

#include<stdlib.h>

typedef struct aa

{

int data;

struct aa *next;

}NODE;

int fun(NODE *h)

{

int sum=0;

NODE *p;

p=h;

while(p->next)

{

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

sum +=p->data;

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<n; 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,”nnTHE LIST :nn 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 : %dn”,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<conio.h>

#include<stdio.h>

#include<string.h>

#define N 80

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

{

int i, j=0;

for(i=0; i<strlen(s); i++)

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

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

t[i]=’’;

}

main()

{

char s[N], t[N];

clrscr();

printf(“nPlease enther string s:”);

gets(s);

fun(s, t);

printf(“nThe result is : %sn”,t);

}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/265393.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号