當前位置:編程學習大全網 - 編程語言 - 哪位高手幫我做壹下這道編程題啊

哪位高手幫我做壹下這道編程題啊

假定匯總的輸入表存abc.txt:

銷售員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);

}

  • 上一篇:2022大數據技術專業適合女生學嗎 好不好就業
  • 下一篇:小學生數學手抄報該寫什麽?
  • copyright 2024編程學習大全網