The Cozy Hut of Dr. Zhang分享 http://blog.sciencenet.cn/u/zjzhang

博文

用C语言程序、相对不公平值来分配席位

已有 3494 次阅读 2013-4-12 15:36 |个人分类:计算机|系统分类:科研笔记|关键词:学者| C语言, 程序

http://bbs.sciencenet.cn/thread-1161325-1-1.html

参考书籍

      《数学模型及其应用(第2版)》第12页例2-7

陈汝栋,于延荣编著

国防工业出版社,2009年。

C语言程序

#include<stdio.h>

void main( )

{

      int P1,P2,P3;

      int n1,n2,n3,N;

      double Q1,Q2,Q3;

      int cnt=4;

      int flag1,flag2,flag3;

     

      printf("请输入A,B,C三个系的学生人数:");

      scanf("%d%d%d",&P1,&P2,&P3);

      printf("请输入代表的总人数(>=4):");

      scanf("%d",&N);

      n1=1,n2=1,n3=1;

     

      printf(" 1 个席位给 A.n");

      printf(" 2 个席位给 B.n");

      printf(" 3 个席位给 C.n");

      while(n1+n2+n3<N)

      {

             flag1=0;

             flag2=0;

             flag3=0;

             Q1=double(P1*P1)/(n1*(n1+1));

             Q2=double(P2*P2)/(n2*(n2+1));

             Q3=double(P3*P3)/(n3*(n3+1));

             

             printf("相对不公平值: %6.1lf,%6.1lf,%6.1lf;",Q1,Q2,Q3);

             if(Q1>=Q2 & Q1>=Q3)

             {

                    flag1=1;

                    n1++;

             }

             else

                    if(Q2>=Q1 & Q2>=Q3)

                    {

                           flag2=1;

                           n2++;

                    }

                    else

                           if(Q3>=Q1 & Q3>=Q2)

                           {

                                  flag3=1;  

                                  n3++;

                           }

             if(flag1==1)

             {

                    printf(" %d 个席位给 A.n",cnt);

             }

             if(flag2==1)

             {

                    printf(" %d 个席位给 B.n",cnt);

             }

             if(flag3==1)

             {

                    printf(" %d 个席位给 C.n",cnt);

             }

             cnt++;

      }

      printf("n总结: A 系占 %d , B 系占 %d , C 系占 %d .n",n1,n2,n3);

}

程序运行结果

请输入A,B,C三个系的学生人数:103 63 34

请输入代表的总人数(>=4):21

1 个席位给 A.

2 个席位给 B.

3 个席位给 C.

相对不公平值: 5304.5,1984.5, 578.0; 4 个席位给 A.

相对不公平值: 1768.2,1984.5, 578.0; 5 个席位给 B.

相对不公平值: 1768.2, 661.5, 578.0; 6 个席位给 A.

相对不公平值:  884.1, 661.5, 578.0; 7 个席位给 A.

相对不公平值:  530.5, 661.5, 578.0; 8 个席位给 B.

相对不公平值:  530.5, 330.8, 578.0; 9 个席位给 C.

相对不公平值:  530.5, 330.8, 192.7; 10 个席位给 A.

相对不公平值:  353.6, 330.8, 192.7; 11 个席位给 A.

相对不公平值:  252.6, 330.8, 192.7; 12 个席位给 B.

相对不公平值:  252.6, 198.4, 192.7; 13 个席位给 A.

相对不公平值:  189.4, 198.4, 192.7; 14 个席位给 B.

相对不公平值:  189.4, 132.3, 192.7; 15 个席位给 C.

相对不公平值:  189.4, 132.3,  96.3; 16 个席位给 A.

相对不公平值:  147.3, 132.3,  96.3; 17 个席位给 A.

相对不公平值:  117.9, 132.3,  96.3;18 个席位给 B.

相对不公平值:  117.9,  94.5,  96.3; 19 个席位给 A.

相对不公平值:   96.4,  94.5,  96.3; 20 个席位给 A.

相对不公平值:   80.4,  94.5,  96.3; 21 个席位给 C.

总结: A 系占 11 , B 系占 6 , C 系占 4 .

Press any key to continue



https://m.sciencenet.cn/blog-287000-679547.html

上一篇:Visual C++一个比较好的下载版本---绿色版+二级专用
下一篇:2013年04月12日科目一练习

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-6-2 13:10

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部