gpt4 book ai didi

c - 两次骰子之和的出现次数

转载 作者:行者123 更新时间:2023-11-30 19:29:58 26 4
gpt4 key购买 nike

#include <stdio.h>
#include <stdlib.h>
#define SIZE 13

int main(){

int die1, die2, sum, i, occurrences[SIZE], j=2;

for(i=0; i<36000; i++){

die1=1+rand()%6;
die2=1+rand()%6;

sum=die1+die2;

++occurrences[sum];
}

printf("%10s","Sums");

for(i=1; i<=12; i++){
printf("%4d", i);
}

printf("\n%10s","Occurrences");

for(i=2; i<=12; i++){
("%4d",occurrences[i]);
}

return 0;
}

为什么这段代码不起作用?该程序必须将两个骰子生成的所有随机数相加,然后打印总和的出现次数。为什么不起作用?输出是这样的:

          Sums   1   2   3   4   5   6   7   8   9  10  11  12
Occurrences

最佳答案

  • 数组 occurrences[SIZE]未初始化且具有不确定的值,因此添加 ++occurrences[sum];将调用未定义的行为。你应该像 occurrences[SIZE] = {0} 一样初始化它.
  • 线路("%4d",occurrences[i]);只是一个使用逗号运算符并用括号括起来的表达式,因此它不会进行打印。看起来像 printf应在括号前添加。

关于c - 两次骰子之和的出现次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52002863/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com