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

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

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

编程题:

57.学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:把指定分数范围内的学生数据放在b所指的数组中,分数范围内的学生人数由函数值返回。

例如,输入的分数是60和69,  则应当把分数在60到69的学生数据进行输出,包含60分和69分的学生数据。主函数中将把60放在low中,把69放在heigh中。

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

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

若干语句。

#include  <stdio.h>

#define    N  16

 

typedef   struct

{

char  num[10];

int   s;

}  STREC;

 

int  fun ( STREC  *a, STREC *b, int l, int h )

{

 

}

 

main ()

{

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

{“GA001”,96}, {“GA007”,72}, {“GA008”,64}, {“GA006”, 87},

{“GA015”,85}, {“GA013”,94}, {“GA012”,64}, {“GA014”,91},

{“GA011”,90}, {“GA017”,64}, {“GA018”,64}, {“GA016”,72}};

STREC  h[N],tt;

FILE *out;

int  i,j,n, low, heigh, t;

printf ( “Enter 2 integer number low & heigh :  “);

scanf (“%d%d”,  &low, &heigh );

if ( heigh < low )

{

t=heigh;

heigh=low;

low=t;

}

n=fun (s, h, low , heigh );

printf ( “The student ‘s data between %d—-%d : n”, low, heigh );

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

printf (“%s  %4dn”, h[i]. num, h[i]. s);

printf ( “n” );

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

fprintf ( out, “%dn”, n );

n=fun ( s, h, 80, 98 );

for (i=0; i<n-1; i++)

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

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

{

tt=h[i] ;

h[i]=h[j];

h[j]=tt;

}

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

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

fprintf ( out, “n” );

fclose ( out );

}

 

60.请编写函数fun,该函数的功能是:删去一维数组中所有相同的数,使之只剩一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中数据的个数。

例如,若一维数组中的数据是:

2  2  2  3  4  4  5  6  6  6  6  7  7  8  9  9  10  10  10。

删除后,数组中的内容应该是:

2  3  4  5  6  7  8  9  10。

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

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

# include <stdio.h>

# define  N  80

int fun(int a[], int n)

{

}

 

main()

{

int a[N]={2,2,2,3,4,4,5,6,6,6,6,7,7,8,9,9,10,10,10,10}, i,n=20;

printf(“The original data:n”);

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

printf(“%3d”,a[i]);

n=fun(a,n);

printf(“nnThe data after deleted :n”);

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

printf(“%3d”,a[i]);

printf(“nn”);

}

 

改错题:

90.下列给定程序中,函数fun的功能是:计算n的5次方的值(规定n的值大于2、小于8),通过形参指针传回主函数;并计算该值的个位、十位、百位上数字之和作为函数值返回。例如,7的5次方是16807,其低3位数的和值是15。

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

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

试题程序:

#include <stdio.h>

#include <math.h>

 

int fun(int n ,int *value)

{

int d,s,i;

d=0;

s=1;

for(i=1; i<=5; i++)

d=d*n;

*value=d;

for(i=1; i<=3; i++)

{

s=s+d%10;

s=s/10;

}

return s;

}

main()

{

int n, sum, v;

do

{

printf(“nEnter n(2<n<8): “);

scanf(“%d”,&n);

}

while(n<=2 || n>=8);

sum=fun(n,&v);

printf(“nnThe result:n value=%d sum=%dnn”,v,sum);

}

 

 

93.下列给定程序中,函数fun的功能是:用下面的公式求π的近似值,直到最后一项

的绝对值小于指定的数(参数num)为止:

π       1    1    1

-≈ 1- - + - – - +…

4        3    5    7

 

例如,程序运行后,输入0.0001,则程序输出3.1414。

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

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

试题程序:

#include <math.h>

#include <stdio.h>

 

float fun(float num)

{

int s;

float n,t,pi;

t=1;

pi=0;

n=1;

s=1;

while (t>=num)

{

pi=pi+t;

n=n+2;

s=-s;

t=s%n;

}

pi=pi*4;

return pi;

}

 

main( )

{

float n1,n2;

clrscr();

printf(“Enter a float number: “);

scanf(“%f”, &n1);

n2=fun(n1);

printf(“%6.4fn”, n2);

}

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

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

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