问题是统计10面骰子个点出现次数
问下各位我这个思路应该没问题吧但为啥出错了
你这个j没变呀,死循环了吧,最后给它j++一下
for (int j = 1; j <= 10; j++) {
cout << arr[j] << endl;
}
指针类型决定了指针向前或向后走一步的步长(±整数),单位是字节。详情请看我原先的一篇文章:指针初阶详解
对于统计10面骰子每个点出现的次数,可以使用一个长度为10的整型数组来存储每个点出现的次数,具体代码如下:
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
int main() {
srand(time(NULL)); // 以当前时间为种子,初始化随机数生成器
const int N = 100000; // 投骰子的总次数
int cnt[10] = {0}; // 统计每个点出现的次数,初始化为0
for (int i = 0; i < N; i++) {
int num = rand() % 10 + 1; // 随机生成1-10之间的整数
cnt[num-1]++; // 统计每个点出现的次数
}
for (int i = 0; i < 10; i++) {
cout << i+1 << "出现的次数为:" << cnt[i] << endl;
}
return 0;
}
在这段代码中,我们使用了rand()随机数生成器来模拟投10面骰子的情况,每次生成的随机数即为骰子点数。我们通过长度为10的整型数组cnt来统计每个点出现的次数,其中数组下标从0-9对应骰子点数1-10,每次生成一个骰子点数,就将对应数组元素的值加1。最后输出每个点出现的次数即可。