首页 > 计算机等级考试
题目内容 (请给出正确答案)
[主观题]

下列给定程序中,函数fun()的功能是:对N名学生的学习成绩,按从高到低的顺序找出前叫m≤10)名学生来

下列给定程序中,函数fun()的功能是:对N名学生的学习成绩,按从高到低的顺序找出前叫m≤10)名学生来,并将这些学生数据存放在一个动态分配的连续存储区中,此存储区的首地址作为函数值返回。

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

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

试题程序:

include <conio.h>

include <string.h>

include <stdio.h>

include <alloc.h>

define N 10

typedef struct ss

{char num[10];

int s;

} STU;

STU *fun{STU a[], int m)

{ STU b[N] ,*t;

int i, j,k;

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

*t=calloc (m, slzeof (STU));

for(i=0;i<N;i++) b[i]=a[i];

for(k=0; k<m; k++)

{ for (i=j=0;i<N;i++)

if (b[i].s>b[j].s) j=i;

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

t[k].num=b [j].num;

t[k].s=b[j] s;

b[j].s=0;

}

return t;

}

outresult(STU a[],FILE *pf)

{ int i;

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

fprintf(pf, "No=%s Mark-%d\n ",

a [i] .num, a[i].s);

fprintf(pf, "\n\n ");

}

main ()

{ STU a[N]={{ "A01 ",81},{ "A02 ",89},

{ "A03 ",66},{ "A04 ",87},{ "A05 ",77},

{ "A06 ",90},{ "A07 ",79},{ "A08 ",61},

{ "A09 ",80},{ "Al0 ",71}};

STU *pOrder;

int i, m;

clrscr ();

printf ("*****THE RESULT***** \n");

outresult (a, stdout);

printf ("\nGive the number of the students

who have better score: ");

scanf ("%d", &m);

while (m>10)

{ printf("lnGive the number of the

students who have better score: ");

scanf ("%d", %m);

pOrder=fun (a,m);

printf("***** THE RESULT*****kn");

printf("The top :\n");

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

printf("%s %d\n",pOrder[i].num,

p0rder [i]. s);

free (pOrder);

}

查看答案
答案
收藏
如果结果不匹配,请 联系老师 获取答案
您可能会需要:
您的账号:,可能还需要:
您的账号:
发送账号密码至手机
发送
安装优题宝APP,拍照搜题省时又省心!
更多“下列给定程序中,函数fun()的功能是:对N名学生的学习成绩…”相关的问题
第1题
下列给定程序中,函数fun()的功能是:计算整数n的阶乘。 请改正程序中的错误,使它能得出正确的结果。

下列给定程序中,函数fun()的功能是:计算整数n的阶乘。

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

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

试题程序:

include <stdio.h>

double fun(int n)

{

double result=l.0;

whil (n>l&&n<170)

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

result*=--n;

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

return;

main()

{int. n;

clrscr();

printf("Enter an integer: ");

scanf("%d",&n);

printf("\n\n%d!=%lg\n\n ",n, fun(n));

}

点击查看答案
第2题
下列给定程序中,函数fun()的功能是:根据整型形参m的值,计算如下公式的值。 t=1-1/(2×2)-1/(3×3)-…

下列给定程序中,函数fun()的功能是:根据整型形参m的值,计算如下公式的值。

t=1-1/(2×2)-1/(3×3)-…-l/(m×m)

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

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

试题程序:

include <conio.h>

include <stdio.h>

double fun(int m)

{ double y=1.O;

int i;

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

for(i=2;i<m;i++)

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

y-=1/ (i*i);

return(y);

}

main()

{ int n=5;

clrscr();

printf("\nThe result is %1f\n", fun(n));

}

点击查看答案
第3题
下列给定程序中,函数fun()的功能是:先从键盘上输入一个3行3列的矩阵的各个元素的值,然后输出主对

下列给定程序中,函数fun()的功能是:先从键盘上输入一个3行3列的矩阵的各个元素的值,然后输出主对角线元素之积。

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

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

试题程序:

include<stdio.h>

int fun()

{

int a[3][3],mu1;

int i,j;

mu1=l;

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

{

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

for(i=0;i<3;j++)

scanf(“%d”,&a[i][j]);

}

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

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

mu1=mu1*a[i][j];

printf("Mu1=%d\n",mu1);

}

main()

{

fun();

}

点击查看答案
第4题
下列给定程序中,函数fun的功能是按以下递归公式求函数值。 例如:当给n输入5时,函数值为240;当给n

下列给定程序中,函数fun的功能是按以下递归公式求函数值。

例如:当给n输入5时,函数值为240;当给n输入3时,函数值为60。

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

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

试题程序:

include <stdio.h>

/*************found****+*******/

fun(int n);

{

int c;

/*************found********+*****/

if(n=1)

c=15;

else

c=fun(n-1)*2;

return(c);

}

main()

{

int n;

printf("Enter n:");

scanf("%d",&n);

printf("The result:%d\n\n",fun(n));

}

点击查看答案
第5题
下列给定程序中,函数fun()的功能是:将P所指字符串中的所有字符复制到b中,要求在每复制3个字符之

下列给定程序中,函数fun()的功能是:将P所指字符串中的所有字符复制到b中,要求在每复制3个字符之后插入1个空格。

例如,若给a输入字符串:“ABCDEFGHIJK”,调用函数后,字符数组b中的内容为:“ABC DEF GHI JK”。

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

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

试题程序:

点击查看答案
第6题
下列给定程序中,函数fun的功能是:求两个非零正整数的最大公约数,并作为函数值返回。例如,若nmnl和

下列给定程序中,函数fun的功能是:求两个非零正整数的最大公约数,并作为函数值返回。

例如,若nmnl和num2分别为49和21,则输出的最大公约数为7;若num1和num2分别为27和81,

则输也的最大公约数为27。

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

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

试题程序:

点击查看答案
第7题
下列给定程序中,函数fun()的功能是:通过某种方式实现两个变量值的交换,规定不允许增加语句和表达

下列给定程序中,函数fun()的功能是:通过某种方式实现两个变量值的交换,规定不允许增加语句和表达式。例如变量a中的值原为8,b中的值原为3,程序运行后a中的值为3, b中的值为8。

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

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

试题程序:

include<conio.h>

include <stdio.h>

int fun(int *x,int y)

{

int t;

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

t=x;x=y;

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

return(y);

}

main()

{int a=3,b=8;

clrscr();

printf("%d %d\n",a, b);

b=fun(&a,b);

printf("%d %d\n" ,a,b);

}

点击查看答案
第8题
下列给定程序中,fun()函数的功能是:根据形参m,计算下列公式的值。 t=1-1/2+1/3-1/4+…+(-1)(m+1)/

下列给定程序中,fun()函数的功能是:根据形参m,计算下列公式的值。

t=1-1/2+1/3-1/4+…+(-1)(m+1)/m

例如,若输入5,则应输出0.783333。

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

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

试题程序:

include <conio.h>

include <stdio.h>

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

int fun(int m)

{

double t=1.0,j=1.0;

int i;

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

for(i=l;i<m;i++)

{j=-1*j;t+=j/i;}

return t;

}

main()

{

int m;

clrscr();

printf("\nPlease enter 1 integer number:");

scanf("%d",&m);

printf("/nThe result is%If\n",fun(m));

}

点击查看答案
第9题
下列给定程序中,函数fun()的功能是:根据输人的三条边长(整形),判断能否构成三角形;构成的是等边
三角形还是等腰三角形。若能构成等边三角形函数,返回3;若能构成等腰三角形函数,返回2;若构成=三角形函数,返回l;若不能构成三角形函数返回0。 请修改函数fun()中的错误,得出正确的结果。 注意:不要改动main()函数,不能增行或减行,也不能更改程序的结构。 试题程序:

点击查看答案
第10题
下列给定程序中,函数fun()的功能是:传入一个整数m,计算如下公式的值。 t=1/2-1/3-…-1/m 例如,若输

下列给定程序中,函数fun()的功能是:传入一个整数m,计算如下公式的值。

t=1/2-1/3-…-1/m

例如,若输入5,则应输出-0.283333。

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

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

试题程序:

include <conio.h>

include <stdio.h>

double fun(int m)

{

double t=l.0;

int i;

for (i=2; i<=m; i++)

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

t=l.0-1/i;

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

}

main ()

{int m;

clrscr ();

printf ("\nPlease enter 1 integer numbers

: In");

scanf ("%d", &m);

printf("\n\nThe result is %lfln",

fun (m));

}

点击查看答案
第11题
下列给定程序中,函数fun()的功能是;求S的值。设 S=(22/1*30))*(42/(3*5))*(62/(5*7))*…*(2k)2/((2

下列给定程序中,函数fun()的功能是;求S的值。设 S=(22/1*30))*(42/(3*5))*(62/(5*7))*…*(2k)2/((2k-1)*(2k+1))

例如,当k为10时,函数的值应为1.533852。

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

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

试题程序:

include <conio. h>

include <stdio. h>

include <math.h >

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

fun (int k)

{ iht n; float s, w, p, q;

n=1;

s=1.0;

while (n<=k)

{ w=2. 0*n;

p=w-1.0;

q=w+1.0;

s=s*w*w/p/q;

n++;

}

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

return s

}

main()

{ clrscr ();

printf ("%f\n ", fun (10));

}

点击查看答案
退出 登录/注册
发送账号至手机
密码将被重置
获取验证码
发送
温馨提示
该问题答案仅针对搜题卡用户开放,请点击购买搜题卡。
马上购买搜题卡
我已购买搜题卡, 登录账号 继续查看答案
重置密码
确认修改