|||
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
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-11-30 03:35
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社