銷售員id 產品1銷售額 品2額 ..品5銷售額
銷售員id 產品1銷售額 品2額 ..品5銷售額
銷售員id 產品1銷售額 品2額 ..品5銷售額
...
例如:
2 1 2 3 4 5
1 2 3 4 5 6
4 1 0 1 0 1
3 3 3 3 1 3
1 6 3 4 3 6
4 4 0 1 2 1
3 1 2 2 1 1
2 1 4 3 4 5
-----------------------
程序:
#include <stdio.h>
#include <stdlib.h>
typedef struct sa{
int id;
float total[6];
float sum;
} SA;
FILE *fin;
void main()
{
SA s[4],stemp;
int i,j;
float d[6],f=0.0;
int k[6];
for (i=0;i<4;i++) {
s[i].id = i+1; s[i].sum=0.0;
for (j=0;j<6;j++) s[i].total[j]=0.0;
};
if ( (fin=fopen("abc.txt","r")) == NULL){
printf("open abc.txt error\n"); exit(0);
}
while(1){
if ( (fscanf(fin,"%d %f %f %f %f %f",&i,&d[1],&d[2],&d[3],&d[4],&d[5]) ) ==EOF) break;
for (j=1;j<6;j++) s[i-1].total[j]=s[i-1].total[j]+d[j];
};
fclose(fin);
for (i=0;i<4;i++){
for (j=1;j<6;j++) s[i].sum=s[i].sum + s[i].total[j];
};
printf("---------1----------\n");
printf("id v1 v2 v3 v4 v5 sum\n");
for (i=0;i<4;i++){
printf("%d ",s[i].id);
for (j=1;j<6;j++) printf("%.2f ",s[i].total[j]);
printf("%.2f ",s[i].sum);
printf("\n");
};
for (i=0;i<3;i++)
for (j=i+1;j<4;j++)
{
if (s[i].sum < s[j].sum) {
stemp=s[i]; s[i]=s[j];s[j]=stemp;
}
};
printf("---------2 rank id----------\n");
printf("R1 R2 R3 R4\n");
for (i=0;i<4;i++) printf("%d ",s[i].id); printf("\n");
for (i=1;i< 6; i++) k[i] = i;
for (i=1;i< 6; i++) d[i] = 0.0;
for (i=0;i<4;i++){
for (j=1;j<6;j++){
d[j] = d[j] + s[i].total[j];
};
};
for(i=1;i<5;i++){
for(j=i+1;j<6;j++){
if (d[j] > d[i]){
d[0]=d[i];d[i]=d[j];d[j]=d[0];
k[0]=k[i];k[i]=k[j];k[j]=k[0];
}
}
};
printf("---------3----------\n");
printf("good-id sales_value\n");
for(j=1;j<6;j++){
printf("%d %.2f\n",k[j],d[j]);
}
for (i=1;i<6;i++) f=f + d[i];
printf("---------4----------\n");
printf("total value of sales: %.2f\n",f);
}