c语言编程笔试试题,C语言编程笔试题(第十五套)

2015-05-21 06:30:02

阅读( 172 )

编程题:

46.学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:按分数的高低排列学生的记录,高分在前。

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

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

#include

#define    N  16

typedef   struct

{  char  num[10];

int   s;

}  STREC;

int  fun ( STREC  a[ ] )

{

}

main ()

{  STREC  s[N]= {{“GA005″,85}, {“GA003″,76}, {“GA002″,69}, {“GA004″,85},

{“GA001″,91}, {“GA007″,72}, {“GA008″,64}, {“GA006″, 87},

{“GA015″,85}, {“GA013″,91}, {“GA012″,64}, {“GA014″,91},

{“GA011″,66}, {“GA017″,64}, {“GA018″,64}, {“GA016″,72}};

int  i; FILE  *out;

fun ( s );

printf (“The  data  after  sorted  :\n”);

for (i=0; i

{  if  ( (i)%4==0 ) printf (“\n”);

printf (“%s  %4d  “, s[i].num, s[i].s);

}

printf (“\n”);

out=fopen (“out16.dat”, “w”);

for (i=0; i

{  if (  (i)%4==0 && i )  fprintf  (out,  “\n” );

fprintf (out,  “%4d”, s[i].s);

}

fprintf ( out, “\n” );

fclose (out );

}

47.请编写一个函数void fun(char*ss),其功能是:将字符串ss中所有下标为奇数位置上的字母转换为大写(若该位置上不是字母,则不转换)。

例如,若输入abc4EFgh,则应输出aBc4EFgH。

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

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

#include

#include

void fun(char *ss)

{

}

void main( void )

{

char tt[51];

clrscr();

printf(“\nPlease enter an character string within 50 characters:\n” );

gets( tt );

printf(“\n\nAfter changing, the string\n  %s”, tt );

fun(tt) ;

printf( “\nbecomes\n  %s”, tt );

}

改错题:

14.下列给定程序中,函数fun和funx的功能是:用二分法求方程2x3-4x2+3x-6=0的根,并要求绝对误差不超过0.001。例如,若给m输入-100,给n输入90,则函数求得的一个根值为2.000。

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

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

试题程序:

#include “stdio.h”

#include “math.h”

double funx(double x)

{

return (2*x*x*x-4*x*x+3*x-6);

}

double fun(double m,double n)

{

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

int r;

r=(m+n)/2;

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

while(fabs(n-m)<0.001)

{

if(funx(r)*funx(n)<0)

m=r;

else

n=r;

r=(m+n)/2;

}

return r;

}

main()

{

double m,n,root;

printf(“Enter m n : \n”);

scanf(“%lf%lf”,&m,&n);

root=fun(m,n);

printf(“root=%6.3f\n”,root);

}

15.下列给定程序中,函数fun的功能是:判断字符ch是否与str所指串中的某个字

符相同;若相同,则什么也不做,若不同,则将其插在串的最后。

请改正程序中的错误,使它能进行正确的操作。

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

试题程序:

#include

#include

#include

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

void fun(char str,char ch)

{

while ( *str && *str !=ch )

str++;

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

if(*str==ch)

{

str[0]=ch;

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

str[1]=’0′;

}

}

main()

{

char s[81],c;

clrscr();

printf(“\n Please enter a string:\n”);

gets(s);

printf(“\n Please enter the character to search:”);

c=getchar();

fun(s,c);

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

}

分享给朋友:

亲~ 如果您有更好的答案 可在评论区发表您独到的见解。

您想查看更多的信息:

面试题


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部