- 题目内容:
一孩半,又称独女户二胎,即中国大陆部分农村的一项计划生育政策,第一胎是女孩的夫妻可以生育第二个子女。如果第二胎有n%人工性别选择干预(选择男孩),试问男女比例为多少?
输入n,作为n%
输入格式:
一个整数
输出格式:
一个小数(小数点后保留2位数字)
输入样例:
5
输出样例:
1.03
提示:模拟样本要大,比如模拟100万对夫妇。
输出就是男孩总数除以女孩总数
printf("%.2lf",double);
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define N 1000000
int main(int argc, const char * argv[]) {
srand((unsigned)time(NULL));
int n;
double girls,boys;
int i;
scanf("%d",&n);
boys=0;
girls=0;
for (i=1;i<N; i++) {
if (rand()%2==1) {
boys++;
}
else{
girls++;
if (rand()%100<n) {
boys++;
}
else{
if (rand()%2==1) {
boys++;
}
else{
girls++;
}
}
}
}
printf("%.2lf",boys/girls);
return 0;
}
错因:如果第二胎有n%人工性别选择干预,此处的%n如何表示出来。
- 打印乘法表
#include <stdio.h>
int main(int argc, const char * argv[]) {
int i,j;
for (i=1; i<=9; i++) {
for (j=1; j<=i;j++ ) {
printf("%d*%d=%d ",i,j,i*j);
}
printf("\n");
}
return 0;
}
- 打印倒直角三角形
#include <stdio.h>
int main(int argc, const char * argv[]) {
int i,j;
for (i=9; i>=1; i--) {
for (j=1; j<=i; j++) {
printf("* ");
}
printf("\n");
}
return 0;
}
- 输出空格与等腰三角形
#include <stdio.h>
int main(){
int i,j;
for (i=10; i>=1; i--) {
for (j=1;j<i; j++) {
printf(" ");
}
for (j=1; j<=11-i; j++) {
printf("*");
printf(" ");
}
printf("\n");
}
}
- 打印菱形
#include <stdio.h>
int main(){
int i,j;
for (i=10; i>=1; i--) {
for (j=1;j<i; j++) {
printf(" ");
}
for (j=1; j<=11-i; j++) {
printf("*");
printf(" ");
}
printf("\n");
}
for (i=1; i<=10; i++) {
for (j=1;j<i; j++) {
printf(" ");
}
for (j=1; j<=11-i; j++) {
printf("*");
printf(" ");
}
printf("\n");
}
}
- 打印字母菱形
#include <stdio.h>
#include <math.h>
int main(){
int i,n;
char c='A';
scanf("%d",&n);
for (i=1; i<=2*n-1; i++) {
int j,k;
k=n-abs(n-i);
for (j=1; j<=abs(n-i); j++) {
printf(" ");
}
for (j=1; j<=2*k-1; j++) {
printf("%c",c);
}
printf("\n");
c++;
}
}