题目要求:
编写代码实现以下功能:
1、抛硬币100次,记录情况:正面朝上为1,反面朝上为0;
2、统计0出现的总次数total0,1出现的总次数total1;
3、统计0连续出现的最大次数max0,1连续出现的最大次数max1;
4、如果需要,提供中间变量名供大家参考:current0,current1;
5、举例:假设投币结果cointoss="0101001101110",则total0=6,total1=7,max0=2,max1=3.
代码:
#include <bits/stdc++.h> using namespace std; int main() { srand((int)time(NULL)); int a[100]; for (int i=0;i<100;i++) { a[i]=rand()%2; } for (int i=0;i<100;i++) { if(i!=99) cout<<a[i]; else cout<<a[i]<<endl; } int total0=0,total1=0,max0=0,max1=0; int sum0=0,sum1=0; for (int i=0;i<100;i++) { if(a[i]==0) { total0++;sum0++;sum1=0; if (sum0>max0) { max0=sum0; } } else { total1=total1+1;sum1=sum1+1;sum0=0; if (sum1>max1) { max1=sum1; } } } cout<<"反面朝上的次数为:"<<total0<<endl; cout<<"正面朝上的次数为:"<<total1<<endl; cout<<"连续反面朝上的最大次数为:"<<max0<<endl; cout<<"连续正面朝上的最大次数为:"<<max1<<endl; return 0; }