對各家公司所開的價進行比價,取能提供最多服務、或服務數目相同但價格最便宜的公司
[心得]
1.scanf() 使用時要小心,當讀取兩個數之後還有\n,如果再加上 gets(input) 讀取時讀到的不是下一行: 要重複 gets(input),或是 scanf() 中包含\n
2.複製字串使用 strcpy(new,original)
3.每次迴圈重來時,記得把一些值歸零
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main()
{
char input[81];
char name[81];
char RFP[1000][81];
int n,p,r;
float d;
int i,j;
int first=1;
while(1)
{
int rMax=0;
float dMin=0.0;
scanf("%d %d",&n,&p);
if(n==0&&p==0) break;
gets(input);
for(i=0;i<n;i++) gets(input);
for(i=0;i<p;i++)
{
gets(name);
scanf("%f %d\n",&d,&r);
for(j=0;j<r;j++) gets(input);
if((r>rMax)||((r==rMax)&&(d<dMin)))
{
rMax=r;
dMin=d;
strcpy(RFP[first],name);
}
}
first++;
}
for(i=1;i<first;i++)
{
if(i!=1) printf("\n");
printf("RFP #%d\n%s\n",i,RFP[i]);
}
system("PAUSE");
return 0;
}