搜题
网友您好,请在下方输入框内输入要搜索的题目:
搜题
题目内容 (请给出正确答案)
提问人:网友baoguilv 发布时间:2022-01-07
[主观题]

下列给定程序中,函数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);

}

简答题官方参考答案 (由简答题聘请的专业题库老师提供的解答)
查看官方参考答案
更多“下列给定程序中,函数fun()的功能是:对N名学生的学习成绩,按从高到低的顺序找出前叫m≤10)名学生来”相关的问题
第1题
下面程序的功能是从键盘上输入若干学生的学习成绩,统计并输出最高成绩和最低成绩,当输入为负数时结束输入。 ① main() { float x,amax,amin; scanf(”%f”,&x); amax=x; amin=x; while( ① ) { if(x>amax) amax=x; if( ② ) amin=x; scanf(”%f”,&x); } printf(”\namax=%f\namin=%f\n”,amax,amin); }

A、x >= 0

B、x <=> C、x > 0

D、x < 0

点击查看答案
第2题
上题中函数func的过程体对应的机器级代码用AT&T汇编形式表示(第一列为行号)如下: 1 movl 8(%ebp), %eax 2 movl 12(%ebp), %ebx 3 movl 16(%ebp), %ecx 4 movl (%ebx), %edx 5 movl (%ecx), %esi 6 movl (%eax), %edi 7 movl %edi, (%ebx) 8 movl %edx, (%ecx) 9 movl %esi, (%eax) 函数func过程体对应的C语言代码是( )。

A、int tempx=*xptr; int tempy=*yptr; int tempz=*zptr; *yptr=tempx; *zptr=tempy; *xptr=tempz;

B、int tempx=*xptr; int tempy=*yptr; int tempz=*zptr; *zptr=tempx; *xptr=tempy; *yptr=tempz;

C、int tempx=xptr; int tempy=yptr; int tempz=zptr; yptr=tempx; zptr=tempy; xptr=tempz;

D、int tempx=xptr; int tempy=yptr; int tempz=zptr; zptr=tempx; xptr=tempy; yptr=tempz;

点击查看答案
第3题

已知学生的记录由学号和学习成绩构成,N名学生的数据已存人a结构体数组中。请编写函数fun,函数的功能是:找出成绩最低的学生记录,通过形参返回主函数(规定只有一个最低分)。已给出函数的首部,请完成该函数。 include include define N 10 typedef struct ss { char num[10]; int s; }STU; fun(STU a[],STU *s ) { } main() {STU a[N]={{“A01”,81),{“A02”,89),{“A03”,66},{“A04”,87},{“A05”,77},{“A06”,90),{“A07”,7 9),{“A08”,61},{“A09”,80),{“A10”,71)},m; int i; printf("*****The original data*****\n"); for(i=0;i<N;i++)printf(“No=%S Mark=%d\n”,a[i].num,a[i].s); fun(a,&m); printf("*****THE RESULT*****\n"); printf(“The lowest:%S,%d\n”,m.num,m.s); )

点击查看答案
第4题
学生的记录由学号和成绩组成,N名学生的数据己在主函数中放入结构体数组s中,请编写函数fun(),它的功能是:把分数最低的学生数据放在h所指的数组中。注意:分数低的学生可能不只一个,函数返回分数最低学生的人数。

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

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

试题程序:

include <stdio.h>

define N 16

typedef struct

{char num[10];

int s;

}STREC;

int fun (STREC *a,STREC *b)

{

}

main ()

{

STREC s[N]={{“GA005”,82},{“GA003”,75},

{“GA002”,85},{“GA004”,78},{“GA001”,95},

{“GA007”,62},{“GA008”,60},{“GA006”,85},

{“GA015”,83},{“GA013”,94},{“GA012”,78},

{“GA014”,97},{“GA011”,60},{“GA017”,65},

{“GA018”,60},{“GA016”,74}};

STREC h[N];

int i,n;

FILE *out;

n=fun(S,h);

printf(“The %d lowest score:\n”,n);

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

printf(“%s %4d\n”,h[i].mum,h[i].s);

/*输出最低分学生的学号和成绩*/

printf(“\n”);

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

fprintf(out,“%d\n”,n);

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

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

fclose(out);

}

点击查看答案
第5题
以下程序的功能是处理由学号和成绩组成的学生记录,N名学生的数据已在主函数中放入结构体数组s中,程序的功能是把分数最高的学生数据放在h所指的数组中。注意:分数高的学生可能不只一个,函数返回分数最高学生的人数。请填空。#include #define N 16typedef struct{ char num[10]; int s;} STREC;int fun(STREC *a,STREC *b){ int i,j=0,max=a[0].s; for(i=0;i
点击查看答案
第6题
用不带头结点的单链表存储队列时,其队头指针指向队头结点,其队尾指针指向队尾结点,则在进行删除操作时()。

A.仅修改队头指针

B.仅修改队尾指针

C.队头、队尾指针都要修改

D.队头,队尾指针都可能要修改

点击查看答案
第7题
设有定义的语句:“char c1=92,c2=92;”,则以下表达式中的值为零的是( )。A.c1^c2 B.c1&c2
设有定义的语句:“char c1=92,c2=92;”,则以下表达式中的值为零的是( )。

A.c1^c2

B.c1&c2

C.~c2

D.c1

E. c2

点击查看答案
第8题
当调用函数时,实参是一个数组名,则向函数传送的是______。A.数组的长度B.数组的首地址C.数组中每
当调用函数时,实参是一个数组名,则向函数传送的是______。

A.数组的长度

B.数组的首地址

C.数组中每一个元素的地址

D.数组每个元素中的值

点击查看答案
第9题
定义如下变量和数组: 则下面语句的输出结果是( )。 A.9 5 1B.7 4 1C.7
定义如下变量和数组:则下面语句的输出结果是( )。

A.9 5 1

B.7 4 1

C.7 5 3

D.9 6 3

点击查看答案
重要提示: 请勿将账号共享给其他人使用,违者账号将被封禁!
查看《购买须知》>>>
重置密码
账号:
旧密码:
新密码:
确认密码:
确认修改
购买搜题卡查看答案
购买前请仔细阅读《购买须知》
请选择支付方式
微信支付
支付宝支付
点击支付即表示你同意并接受《服务协议》《购买须知》
立即支付
搜题卡使用说明

1. 搜题次数扣减规则:

功能 扣减规则
基础费
(查看答案)
加收费
(AI功能)
文字搜题、查看答案 1/每题 0/每次
语音搜题、查看答案 1/每题 2/每次
单题拍照识别、查看答案 1/每题 2/每次
整页拍照识别、查看答案 1/每题 5/每次

备注:网站、APP、小程序均支持文字搜题、查看答案;语音搜题、单题拍照识别、整页拍照识别仅APP、小程序支持。

2. 使用语音搜索、拍照搜索等AI功能需安装APP(或打开微信小程序)。

3. 搜题卡过期将作废,不支持退款,请在有效期内使用完毕。

请使用微信扫码支付(元)

订单号:

遇到问题请联系在线客服

请不要关闭本页面,支付完成后请点击【支付完成】按钮
遇到问题请联系在线客服
恭喜您,购买搜题卡成功 系统为您生成的账号密码如下:
重要提示:请勿将账号共享给其他人使用,违者账号将被封禁。
发送账号到微信 保存账号查看答案
怕账号密码记不住?建议关注微信公众号绑定微信,开通微信扫码登录功能
警告:系统检测到您的账号存在安全风险

为了保护您的账号安全,请在“简答题”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!

- 微信扫码关注简答题 -
警告:系统检测到您的账号存在安全风险
抱歉,您的账号因涉嫌违反简答题购买须知被冻结。您可在“简答题”微信公众号中的“官网服务”-“账号解封申请”申请解封,或联系客服
- 微信扫码关注简答题 -
请用微信扫码测试
欢迎分享答案

为鼓励登录用户提交答案,简答题每个月将会抽取一批参与作答的用户给予奖励,具体奖励活动请关注官方微信公众号:简答题

简答题官方微信公众号

简答题
下载APP
关注公众号
TOP