未分类题

下列给定程序中,函数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.
B.h>
C.h>
D.h>
E.h>
F.s>b[j].s)
G.num=b
H.num;
I.s=b[j]
J.s=0;
K.num,
L.s);
M.num,


【参考答案】

(1)错误: *t=calloc(msizcof(STU)); 正确: t=calloc(msizeof(STU)); ......

(↓↓↓ 点击下方‘点击查看答案’看完整答案 ↓↓↓)
热门 试题

未分类题
【说明】以下是Linux局域网服务器配置的简单描述。如图4所示,某企业通过ADSL上网,ADSL外部网卡输入的地址是192.168.10.6,子网掩码是255.255.255.0,网关是192.168.10.254。此网卡用于外部接入,名称为eth0。内部网卡地址设定为10.191.252.10,同时将子网的掩码设置为255.255.255.0,名称设为eth1。两个网的DNS服务地址采用同一个地址,设定为202.103.86.3。服务器和客户机都接在同一台交换机上。服务器安装完毕后,Squid的功能非常强大,但部分内容需要修改才能够正常使用。用编辑器打开 etc squid squid.conf文件,有下面两句话:http_access allow localhost (1)http_access allow all (2)Squid代理在服务器启动时默认是关闭的,需要改一下。在服务器桌面图标Server Configuration(服务配置) start at boot(启动选择)中,在Squid和Ipchains两项前边打上星号,这样服务器在启动时就可以同时启动Squid和Ipchains,也可以单独运行命令setup找到服务器配置项进行上述配置。至此,服务器已经能够提供WWW的代理服务,不过需要配置的东西仍然很多。比如聊天、收发邮件等功能,要特别设定地址伪装才能进行。将下面的内容添加到 etc rc.local文件的尾部,然后重新启动服务器。echo 1> proc sys net ipv4 ip_forward (3) sbin ipchains-PforwardDENY sbin ipchains-F (4) sbin ipchains-A forward-s 192.168.0.0 24-j MASQ -i eth0 (5)客户机的设定很简单,它的IP地址必须设定在10.191.252.0~10.191.252.254之间,但不能设定为与服务器的内部地址相同的IP地址。请将(n) L(n=1~5)处的含义写在答题纸对应的栏内。