C语言:1孩半问题

题目:

  一孩半,又称独女户二胎,即中国大陆部分农村的一项计划生育政策,第一胎是女孩的夫妻可以生育第二个子女。如果第二胎有n%人工性别选择干预(选择男孩),试问男女比例为多少。(10分)
题目内容:

  一孩半,又称独女户二胎,即中国大陆部分农村的一项计划生育政策,第一胎是女孩的夫妻可以生育第二个子女。如果第二胎有n%人工性别选择干预(选择男孩),试问男女比例为多少?

输入n,作为n%

输入格式:

一个整数

输出格式:

一个小数(小数点后保留2位数字)

输入样例:

5

输出样例:

1.03

提示:模拟样本要大,比如模拟100万对夫妇。

输出就是男孩总数除以女孩总数

printf("%.2lf",double);

编码:

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main()
{
	int i,boys=0,girls=0;
	int n;
	scanf("%d",&n);
	srand((unsigned)time(NULL));
	for(i=0;i<1000000;i++)
	{
		if(rand()%2==1)
		{
			boys++;
		}else{
			girls++;
			if(rand()%100<n)
			{
				boys++;
			}else{
				if(rand()%2==1)
				{
					boys++;
				}else
				{
					girls++;
				}
			}
		}
	}
	printf("%.2lf",(float)boys/girls);
	return 0;
}

  

原文地址:https://www.cnblogs.com/songqingbo/p/8934006.html