一道关于乐透奖兑奖算法的C语言编程题
#include
#include
#include
intawardnum[6],yournum[6],sum=0,special,i,j;
boolmark=false;
srand(time(NULL));
for(i=0;i<6;i++)
awardnum[i]=rand()%42;
for(j=0;j
while(awardnum[i]==awardnum[j])awardnum[i]=rand()%42;//这里确保摇出的奖没有重复号
cout<
special=rand()%42;//特殊号码这里没有确保和前面6个数不一样,这样可能出现没有二等奖的情况
cout<<"特殊号码为"<
cout<<"请输入6个不重复的彩票号码"<
for(i=0;i<6;i++)cin>>yournum[i];
for(i=0;i<6;i++)
inttemp=sum;
for(j=0;j<6;j++)
if(yournum[i]==awardnum[j])sum++;
if(temp==sum)
if(yournum[i]==special)mark=true;
if(sum==6){cout<<"恭喜,你中了特等奖!"<
if(sum==5&&mark){cout<<"恭喜,你中了二等奖!"<
if(sum==5&&!mark){cout<<"恭喜,你中了三等奖!"<
if(sum==4){cout<<"恭喜,你中了四等奖!"<
if(sum==3){cout<<"恭喜,你中了五等奖!"<
if(sum<3){cout<<"对不起,你没有中奖!"<
//看看是不是你想要的!在Vc6.0上调试通过
本回答由提问者推荐