问题 问答题

请编制程序,要求:将文件IN92.DAT中的200个整数读入数组xx中,求出数组xx中最大数max及最大数的个数ont和数组xx中值能被3整除或能被7整除的数的算术平均值pj(保留两位小数),结果max, cnt,pj输出到out92.dar中。
部分程序、读函数read_dat(intxx[200])及输出格式已给出。
试题程序:
#include<conio.h>
#include<stdi0.h>
#define N 200
void read_dar(int xx[N])

int i,j;
FILE *fp;
fp=fopen("IN92.DAT","r");
for(i=0;i<20;i++)

for (j=0; j<10; j++)

fscanf(fp,"%d,",&xx[i*10+j]);
printf("%d",xx[i*10+j]);

printf("\n");

fclose fp);


void main,

int i,k,cnt,xx[N],max;
float pj;
FILE *fw;
long j=0;
clrscr();
fw=fopen("out92.dat","w");
read_dat(xx);
printf("\n\nmax=%d,cnt=%d,pj=%6.2f\n",max, cnt,pj
fprintf(fw,"%d\n%d\n%6.2f\n",max,cnt,pj);
fclose(fw);
printf("\n");

fclose fp);


void main,

int i,k,cnt,xx[N],max;
float pj;
FILE *fw;
long j=0;
clrscr();
fw=fopen("out92.dat","w");
read_dat(xx);
printf("\n\nmax=%d,cnt=%d,pj=%6.2f\n",max, cnt,pj
fprintf(fw,"%d\n%d\n%6.2f\n",max,cnt,pj);
fclose(fw);

答案

参考答案:

void main ( )

{

int i,k, cnt,xx[N] ,max;

float pj;

FILE *fw;

long j=0;

clrscr ();

fw=fopen ( "outIB.dat" , "w" );

read_dat (xx);

max=xx [0];

for (i=A, k=0; i<N; i++)

{

if (xx [i] >max)

max=xx [i]; /*求出数组xx中最大数max*/

if(xx[i]%C==0 ||xx[i]%G==0)

{

j+=xx[i]; /*求出数组xx中值能被C整除或能被G整除的数的总和* /

k++;

}

}

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

if (xx [i] ==max)

cnt++; /*求出数组xx中最大数max的个数*/

pj=(float) (j*A00/k)/A00;/*求出数组xx中值能被C整除或能被G整除的数的平均值*/

printf ("\n\nmax=%d, cnt=%d,pj=%F.Bf\n" ,max, cnt,pj);

fprintf (fw, "%d\n%dkn%F.B fin" ,max, cnt,pj );

fclose (fw);

解析:

本题考查的知识点如下:

(1)运算符“%”的使用。

(2)判断结构中多个条件的布尔运算。

首先,要找出数组中最大的元素。先定义第1个元素为最大的元素,然后依次和后面的元素比较,若后面的数中有大于第1个元素的,则将这个数定义为最大的元素。再和后面的数进行比较。一个数a除以b取余所得的数为0,则a能被b整除。根据题意可知,被3整除和被7整除两个条件满足一个即可,所以两个条件之间用“或”运算。在本题中,要求算术平均值保留两位小数。使用的方法是:将和乘以100除以个数强制类型转换后再除以100。为了保证和有效,我们定义了一个长整型变量来记录和。因为个数也为整型,运算符“/”在这里的含义是整除,而我们要保留小数,所以要使用强制类型转换将和乘以100的结果转换为浮点类型,这样就可以实现保留两位小数。

多项选择题
问答题 案例分析题

B公司是一家国有通信器材公司。经过20多年的发展,下属有8家分公司,员工1万人,年销售额约30亿元人民币。近些年来,随着市场竞争的激烈,B公司经济效益持续下降,公司高层管理者决定通过在组织内部加强绩效管理,以绩效考核来加强对各部门和各级员工的激励和管理。

于是公司高层与某咨询公司合作,对公司各个部门制定了关键缋效考核指标(KPI)和绩效目标。并规定部门绩效考核由人力资源部负责,各部门员工绩效考核由部门负责人负责考核,优秀员工不超过10%。

年终将至,公司销售部经理开始表现出忧心忡忡,因为他花了很大的气力才说服了几个大客户采购他们公司新近研发的电子产品,这批订货必须在年底前交货。然而公司新产品的生产线始终处于调试阶段,出不了产品,如果不能按时发货,客户有权取消订单。这样,销售业绩就会大幅度下降,而且新生产线的投资也会遭受很大损失。当然销售部今年的考核指标也就受影响了。

此时,公司的生产部经理却相当乐观,因为今年,他们部门的三个关键绩效考核指标(质量、生产成本和生产率)基本能完成。而新产品的生产和质量达标费时费力且效率相对低的工作,在绩效考核指标中权重不高,为了不影响部门的绩效考核,他下令减少了本应该配给新产品生产线的生产投入。

公司财务经理的日子也很轻松,他的关键绩效指标之一是缩短应收账款的周期,降低公司的财务费用。他采取的措施是缩短客户付款期限,尽管他知道这样对销售不利,但这不是他考虑的问题,为此该部门的绩效指标也完成得不错。

公司研发部主管也觉得今年的绩效考核他们应该没有什么压力,因为新产品研发数量和成本考核只占其部门绩效考核的30%,其余70%考核关注研发目队的建立和研发能力的培养。研发部门每年的优秀都是员工轮流坐庄,大家一团和气,是个看上去很融洽的团队。

人力资源部按照公司高层制定的绩效考核计划,按部就班地在准备年底各部门的绩效考核工作。

什么是绩效计划?绩效计划如何确定?