加入的Sleep(1000)是延迟1000毫秒,为了调用此函数,需要#include<window.h>。
由于延时,结果每隔1秒出来一行,倒也好看。见图:
下面再给一种方案,种子数不再每次获得随机数前置,而是在main函数开始时设置,也能得到好的效果。见程序:
#include <iostream> #include <cstdlib> #include <ctime> using namespace std; class shaizi { public: void setdian(); int getdian(); private: int dian; }; const int round=9; //round必须置一个奇数 int main() { shaizi s1,s2; int i=1,n1=0,n2=0; srand(time(0)); //设置一次种子数,决定整个程序中用到的随机序列 while(i<=round) { s1.setdian(); s2.setdian(); cout<<"第"<<i<<"轮: 甲 "<<s1.getdian()<<",乙: "<<s2.getdian(); if(s1.getdian()>s2.getdian()) n1++; else if (s2.getdian()>s1.getdian()) n2++; else { cout<<",平局重掷 "<<endl; continue; } i++; cout<<endl; if(n1==(round/2+1)||n2==(round/2+1)) break; } cout << "甲赢 "<<n1<<" 轮,乙赢 "<<n2<<" 轮"; if(n1>n2) cout<<",甲胜"<<endl; else if(n2>n1) cout<<",乙胜"<<endl; return 0; } int shaizi::getdian() { return dian; } void shaizi::setdian() { dian=rand()%6+1; } |
该还有别的方案,评论中接龙。