采购单-----京东校招

 1 #include <stdio.h>
 2 #include <string.h>
 3 #include<math.h>
 4 #include<stdlib.h>
 5 int MAX(const void *a,const void *b)              //升序排列
 6 {
 7     return *(int *)a-*(int *)b;
 8 } 
 9 int MIN(const void *a,const void *b)              //降序排列
10 {
11     return *(int *)b-*(int *)a;
12 } 
13 int main()
14 {
15    int a[1001];
16    char test[1001][33];                                      //商品名称
17    int cnt[1001];                                                //记录商品种类数量
18    int i,j;
19    int n,m;                                                         //n为商品牌价格数量,m为商品数量
20    int p=0,q=0;
21    int max,min;
22    while(scanf("%d %d ",&n,&m)!=EOF)
23    {
24       for(i=0;i<n;i++)                                 
25       {
26               scanf("%d",&a[i]);
27       }
28     getchar();
29         for(p=0,q=0;p<m;p++,q++)
30         {
31             gets(test[q]);
32             cnt[q]=1;
33             if(q>0)
34             {
35                 for(j=0;j<q;j++)
36                 {
37                    if(strcmp(test[q],test[j])==0)cnt[j]++,q--;     
38                 }
39             }
40         }    
41       qsort(cnt,q,sizeof(cnt[0]),MIN);                   //种类个数降序排列
42       qsort(a,n,sizeof(int),MAX);                          //价格升序排列求最小
43       for(j=0,min=0;j<q;j++)
44       {
45            min+=a[j]*cnt[j];
46       }
47       qsort(a,n,sizeof(int),MIN);                           //价格降序排列求最大
48       for(j=0,max=0;j<q;j++)
49       {
50            max+=a[j]*cnt[j];
51       }
52       printf("%d %d
",min,max);
53    } 
54    return 0;    
55 } 
 1 #include <stdio.h>
 2 #include <string.h>
 3 #include<math.h>
 4 #include<stdlib.h>
 5 int MAX(const void *a,const void *b)              //升序排列
 6 {
 7     return *(int *)a-*(int *)b;
 8 } 
 9 int MIN(const void *a,const void *b)              //降序排列
10 {
11     return *(int *)b-*(int *)a;
12 } 
13 int main()
14 {
15    int a[1001];
16    char test[1001][33];                                      //商品名称
17    int cnt[1001];                                                //记录商品种类数量
18    int i,j;
19    int n,m;                                                         //n为商品牌价格数量,m为商品数量
20    int p=0,q=0;
21    int max,min;
22    while(scanf("%d %d ",&n,&m)!=EOF)
23    {
24       for(i=0;i<n;i++)                                 
25       {
26               scanf("%d",&a[i]);
27       }
28     getchar();
29         for(p=0,q=0;p<m;p++,q++)
30         {
31             gets(test[q]);
32             cnt[q]=1;
33             if(q>0)
34             {
35                 for(j=0;j<q;j++)
36                 {
37                    if(strcmp(test[q],test[j])==0)cnt[j]++,q--;     
38                 }
39             }
40         }    
41       qsort(cnt,q,sizeof(cnt[0]),MIN);                   //种类个数降序排列
42       qsort(a,n,sizeof(int),MAX);                          //价格升序排列求最小
43       for(j=0,min=0;j<q;j++)
44       {
45            min+=a[j]*cnt[j];
46       }
47       qsort(a,n,sizeof(int),MIN);                           //价格降序排列求最大
48       for(j=0,max=0;j<q;j++)
49       {
50            max+=a[j]*cnt[j];
51       }
52       printf("%d %d
",min,max);
53    } 
54    return 0;    
55 } 
 1 #include <stdio.h>
 2 #include <string.h>
 3 #include<math.h>
 4 #include<stdlib.h>
 5 int MAX(const void *a,const void *b)              //升序排列
 6 {
 7     return *(int *)a-*(int *)b;
 8 } 
 9 int MIN(const void *a,const void *b)              //降序排列
10 {
11     return *(int *)b-*(int *)a;
12 } 
13 int main()
14 {
15    int a[1001];
16    char test[1001][33];                                      //商品名称
17    int cnt[1001];                                                //记录商品种类数量
18    int i,j;
19    int n,m;                                                         //n为商品牌价格数量,m为商品数量
20    int p=0,q=0;
21    int max,min;
22    while(scanf("%d %d ",&n,&m)!=EOF)
23    {
24       for(i=0;i<n;i++)                                 
25       {
26               scanf("%d",&a[i]);
27       }
28     getchar();
29         for(p=0,q=0;p<m;p++,q++)
30         {
31             gets(test[q]);
32             cnt[q]=1;
33             if(q>0)
34             {
35                 for(j=0;j<q;j++)
36                 {
37                    if(strcmp(test[q],test[j])==0)cnt[j]++,q--;     
38                 }
39             }
40         }    
41       qsort(cnt,q,sizeof(cnt[0]),MIN);                   //种类个数降序排列
42       qsort(a,n,sizeof(int),MAX);                          //价格升序排列求最小
43       for(j=0,min=0;j<q;j++)
44       {
45            min+=a[j]*cnt[j];
46       }
47       qsort(a,n,sizeof(int),MIN);                           //价格降序排列求最大
48       for(j=0,max=0;j<q;j++)
49       {
50            max+=a[j]*cnt[j];
51       }
52       printf("%d %d
",min,max);
53    } 
54    return 0;    
55 } 
 1 #include <stdio.h>
 2 #include <string.h>
 3 #include<math.h>
 4 #include<stdlib.h>
 5 int MAX(const void *a,const void *b)              //升序排列
 6 {
 7     return *(int *)a-*(int *)b;
 8 } 
 9 int MIN(const void *a,const void *b)              //降序排列
10 {
11     return *(int *)b-*(int *)a;
12 } 
13 int main()
14 {
15    int a[1001];
16    char test[1001][33];                                      //商品名称
17    int cnt[1001];                                                //记录商品种类数量
18    int i,j;
19    int n,m;                                                         //n为商品牌价格数量,m为商品数量
20    int p=0,q=0;
21    int max,min;
22    while(scanf("%d %d ",&n,&m)!=EOF)
23    {
24       for(i=0;i<n;i++)                                 
25       {
26               scanf("%d",&a[i]);
27       }
28     getchar();
29         for(p=0,q=0;p<m;p++,q++)
30         {
31             gets(test[q]);
32             cnt[q]=1;
33             if(q>0)
34             {
35                 for(j=0;j<q;j++)
36                 {
37                    if(strcmp(test[q],test[j])==0)cnt[j]++,q--;     
38                 }
39             }
40         }    
41       qsort(cnt,q,sizeof(cnt[0]),MIN);                   //种类个数降序排列
42       qsort(a,n,sizeof(int),MAX);                          //价格升序排列求最小
43       for(j=0,min=0;j<q;j++)
44       {
45            min+=a[j]*cnt[j];
46       }
47       qsort(a,n,sizeof(int),MIN);                           //价格降序排列求最大
48       for(j=0,max=0;j<q;j++)
49       {
50            max+=a[j]*cnt[j];
51       }
52       printf("%d %d
",min,max);
53    } 
54    return 0;    
55 } 
原文地址:https://www.cnblogs.com/sbb-first-blog/p/13443363.html