domo5231 domo5231
关注数: 18 粉丝数: 44 发帖数: 1,219 关注贴吧数: 48
24点小问题——成对出现的重复结果 下面是我编的一个十分蹩脚的24点,但好在结果还是基本正确的-_-可是结果中却经常会出现成对的重复,希望大家能给我提供一些宝贵的意见,我将不胜荣幸。谢谢各位。PS:我刚接触类,不知道‘类’在程序设计中会发挥什么重要的作用。我觉得直接定义一个子函数,与局部变量OR全局变量似乎比在类中定义一个新的数据类型要干净,明了。不知道类到底在程序设计中有什么重要的作用?迷惑啊,希望各位指点迷津啊。#include using namespace std;double num[4] , num1[3] , num2[2] ;int GOOD_JOB , t , tt , ttt , i , j , ii , iii , iit;int BUG ;void step2();void step3();void out();int main(){int begain , p1 ,p2;double F1[4] ,F2[6];for(;;){GOOD_JOB=BUG=0;cout<<"####################### 趋近完美的二十四点 ##############################\n友情提示:A=1,J=11,Q=12,K=13\n";cout<<"请给出你抽到的第一牌:";cin>>num[0];cout<<"请给出你抽到的第二牌:";cin>>num[1];cout<<"请给出你抽到的第三牌:";cin>>num[2];cout<<"请给出你抽到的第四牌:";cin>>num[3];cout<<"########################## THINKING ###################################\n";for(p1=1;p1<3;p1++)for(p2=3;p2>=p1;p2--) if(num[p2-1]>num[p2]){int t; t = num[p2-1] ; num[p2-1] = num[p2]; num[p2] = t ; }for(begain=0;begain<4;begain++)cout<<"泡沫排列:"< 0) && (num[i]==num[i-1]) )continue;for(j=i+1;j<4;j++){if(j!=i+1 && num[j]==num[j-1])continue;for(ii=0;ii<4;ii++)if(ii!=i && ii!=j){ num1[0]=num[ii]; break;}for(iii=0;iii<=3;iii++)if(iii!=i && iii!=j && iii!=ii){num1[1]=num[iii];break;}if(num[i]==num[j]){F1[0]=num[i]+num[j];F1[1]=num[i]-num[j];F1[2]=num[i]*num[j];F1[3]=num[i]/num[j];for(t=0;t<4;t++){num1[2]=F1[t];step2();}}else{F2[0]=num[i]+num[j];F2[1]=num[i]-num[j];F2[2]=num[i]*num[j];F2[3]=num[i]/num[j];F2[4]=num[j]-num[i];F2[5]=num[j]/num[i];for(t=0;t<6;t++){num1[2]=F2[t];step2();}}}}cout<<"~~~~~~~~~~~~~~~~生成报告~~~~~~~~~~~~~~~~~~~~~~\n";cout<<"总共检索次数为:"<< ( BUG + GOOD_JOB ) << "\n";cout<<"有效检索次数为:"<
首页 1 2 下一页