问题 问答题

已知学生的记录由学号和学习成绩构成,N名学生的数据已存入a结构体数组中。请编写函数fun(),该函数的功能是:找出成绩最低的学生记录,通过形参返回主函数(规定只有一个最低分)。己给出函数的首部,请完成该函数。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
#include<stdio. h>
#include<string. h>
#include<aonio .h>
#define N 10
typedef struct ss
char num[10];
iht s;
STU;
fun(STU ail, STU *s)

main()

STU a[N]= "A01",81, "A02",89,
"A03", 66 , "A04", 87 , "A05", 77 ,
"A06", 90 , "A07", 79, "A08", 61 ,
"A09", 80 ), "Al 0", 71 , m;
int i;
clrscr 0;
printf ("*****The original data*****");
for (i=0; i<N; i++)
printf ("No=%s Mark=%d\n", ail] .num,
a[i] .s);
fun (a, &m);
printf ("*****THE RESULT*****\n");
printf ("The lowest :%s, %d\n",m.num,
m.s);

答案

参考答案:

 fun(STU a[], STU *s)

{

int i;

*s=a [0];

for (i=0; i<N; i++) /*先认为第A个值最小*/

if (s->s>a Ii] . s) /*如果在循环的过程中再发现比第A个值更小的则赋给*s*/

*s=a [i];

}

解析:

我们先认为第1个值最小,即*s=a[0]语句,如果在循环的过程中再发现比第1个值更小的随即赋给该*s就可以了。另外,还涉及到结构体中的指向运算符,请学习者注意。若要找出最高成绩则if()中的条件改成s->s<a[i].s即可。

单项选择题 B1型题
问答题 案例分析题

背景

高新技术企业新建厂区里某8层框架结构办公楼工程,采用公开招标的方式选定A公司作为施工总承包。施工合同中双方约定钢筋、水泥等主材由业主供应,其他结构材料及装饰装修材料均由总承包负责采购。

施工过程中,发生如下事件:

事件一:钢筋第一批进场时,供货商只提供了出厂合格证,业主指令总承包对该批钢筋进行进场验证,总承包单位对钢材的品种、型号、见证取样进行了质量验证。对钢筋的屈服强度、抗拉强度进行了复试。监理单位提出了意见。

事件二:袋装水泥第一批进场了300t,水泥为同一生产厂家、同一等级、同一品种、同一批号。业主指令总承包进行进场复试,总承包单位对水泥的抗折强度、抗压强度进行了一组复试。复试合格后,总承包方直接安排投入使用。使用过程中,水泥出现了质量问题。建设单位认为是总承包单位作的复试,质量责任应由总承包单位负责。监理单位下达了停工令。

事件三:总承包单位按《建设工程质量管理条例》(国务院令第279号)规定,对商品混凝土、砂石、砌墙材料、石材、胶合板实行备案证明管理。

事件四:总承包单位依据质量稳定、履约能力强的原则选择了建筑外墙金属窗、塑料窗生产厂家,并进行了抗风压性能复试。

事件五:业主经与设计单位商定,对主要装饰石料指定了材质、颜色和样品,并向承包商推荐厂家,总承包方与生产厂家签订了购货合同。进场时经检查,该批材料颜色有部分不符合要求,承包方要求厂家将不符合要求的石料退换,厂家要求承包方支付退货费用,承包方不同意支付,业主在应付给承包方工程款中扣除了上述费用。

指出事件一中不妥之处,并分别说明正确做法。