#2
wp2319572013-01-14 22:41
|
希望有兴趣的朋友再帮我测试最后的程序,谢谢。
程序代码:
#include<iostream>
using namespace std;
int main()
{
cout<<"如果胡牌则显示,不胡牌则以下无输出"<<endl;
int i,j,k,x,temp,flat=0;
int a[15]={1,1,1,2,2,2,4,5,6,8,8,8,9,9};// 牌已排序。
for (x=0; x<14; x++) //在数组最后位置加一个数,便以下判断是否全部清0
{
if(a[x]==a[x+1])
{
temp=a[x];
a[14]=a[x];
}
else a[x]=temp;
for(i=0; i<15; i++) //找出连续或相同的三个数,并标记为0
for(j=0; j<15; j++)
for(k=0; k<15; k++)
{
if(i==j||j==k||i==k) continue;
if(a[i]+1==a[j] && a[j]+1==a[k]&& a[i]!=0 || a[i]==a[j] && a[k]==a[j] )
{
a[i]=0; a[j]=0; a[k]=0;
}
}
int s=0;
for(i=0;i<15;i++)
{ s+=a[i];
cout<<a[i];}
cout<<endl;
cout<<s<<"s ";
/* if(s!=0) //若加的将不胡,则下次试其他将时还回原值。
{
a[x]=temp;
a[x+1]=temp;
a[14]=flat;
}*/
if(s==0)
{
cout<<"恭喜您!已胡牌!"<<endl;//如果数组里全部是0说明已胡牌,
// break;
}
}
getchar();
return 0;
}
[ 本帖最后由 qunxingw 于 2013-1-16 19:48 编辑 ]