动态内存分配–动态数组
需求:设计一个掷硬币游戏,开始前要求用户先输入本局模拟掷硬币的次数n,记录每次掷的结果,并根据结果模拟为正面或反面,要求输出正面和反面的累计出现次数。
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int *p, n;
printf("请输入扔硬币的次数:");
scanf("%d", &n);
// 动态申请内存空间
//p = (int*) malloc( n * sizeof(int) ); // 用malloc也可以
p = (int*) calloc(n, sizeof(int));
int i, count = 0;
srand(time(NULL)); // 初始化种子
for (i = 0; i < n; i++)
{
p[i] = rand()%2; // 模拟正反面
if (p[i] == 1) // 为1是正面,为2是反面
count++;
}
printf("%d : %d", count, n-count);
}
3020

被折叠的 条评论
为什么被折叠?



