comp com[10]={"华为公司",60,"木云科技",50,"启明星辰",65,"天融信",75,"华三公司",54,"河南精华",59,"帕拉迪公司",80,"杭州迪普",90,"南京金智",49,"网瑞达公司",47};
问题:10家公司竞争一个项目,每家公司报一个价格,专家进行评标,距离标底最近的公司中标。
分析:
公司(公司名称,价格)
struct companys
{
char name[30];
int bj;
};
typedef struct companys comp;
...
comp com[10]={}
#include "stdio.h"
#include <math.h>
struct companys
{
char name[30];
int bj;
};
typedef struct companys comp;
//完成评标功能,判断报价距离标底最近
comp pb(comp tt[],int n,int x)
{
//遍历tt数组,求距离x值最近的tt[i]
int i,cj; //cj存储差价:报价和x差的绝对值
comp ts;
ts=tt[0];
cj=abs(ts.bj-x);
//剩余的所有abs(tt[i]-x)和cj进行比较,找到最小的公司
for(i=1;i<n;i++)
if ((abs(tt[i].bj-x)<cj)&&(tt[i].bj<=x)) //重新计算差价,同时保存该公司信息到ts变量
{cj=abs(tt[i].bj-x); ts=tt[i];}
return ts;
}
[1]
[2]
[3]
下一页