结构体5

作者: 时间:2020-07-09 点击数:

//设计一个没有标底的评标函数
comp pb1(comp tt[],int n)
{
//(1)计算出平均报价,等价于   原先的标底
//(2)和计算刚才的标底公司评标方法类似
int i,sum=0,ave,cj;
comp ts;
for(i=0;i<n;i++)
 sum=sum+tt[i].bj;
   ave=sum/n;
ts=tt[0];
cj=abs(ts.bj-ave);
//剩余的所有abs(tt[i]-ave)和cj进行比较,找到最小的公司
for(i=1;i<n;i++)
 if (abs(tt[i].bj-ave)<cj)  //重新计算差价,同时保存该公司信息到ts变量
 {cj=abs(tt[i].bj-ave);  ts=tt[i];}
return ts;
}
int main()
{
comp com[10]={"华为公司",60,"木云科技",50,"启明星辰",65,"天融信",75,"华三公司",54,"河南精华",59,"帕拉迪公司",80,"杭州迪普",90,"南京金智",49,"网瑞达公司",47};
comp zbgs;
zbgs=pb1(com,10);
printf("%s:%d\n",zbgs.name,zbgs.bj);
return 0;
}
拓展:不再设置标底,评标规则:最接近项目平均报价的公司中标。(报名顺序靠前的优先)
设某组有4个人(姓名,学号,三科成绩),编程求出每个人的三科平均成绩,按平均成绩从高到低输出。
分析:
       struct students
 {
     char name[20];
  long number;
  float score[4];   //score[3]存放平均成绩
 };
 struct studens st[4];
#include <stdio.h>
#include <string.h>
struct students
 {
     char name[20];
  long number;
  float score[4];   //score[3]存放平均成绩
 };
typedef struct students stu;
void inputdata(stu tt[],int n)
{
  //完成tt数组的信息输入
int i;
for(i=0;i<n;i++)
scanf("%s%ld%f%f%f",tt[i].name,&tt[i].number,&tt[i].score[0],&tt[i].score[1],&tt[i].score[2]);
}

上一页 [1] [2] [3] 下一页

Copyright© 2020 Anyang Institute of Technology.All rights reserved.

学院地址:河南省安阳市黄河大道西段