“斗牛”是一种简单的纸牌游戏,玩法如下:对于一副扑克牌,保留A(作为1)、2~10这些牌面的牌;然后每人发5张牌,计算出是牛几(任取3张牌面累加凑成10的倍数,设剩下2张牌面加起来的和S,若S为10的倍数则为双牛,否则用S(S小于10的情况)或用S减去10(S大于10的情况)的结果确定,例如,牌面4 3 4 6 10时,为牛7),然后比谁的牛大,大者胜,小者负,否则为和局。现在给你5张牌,请你算出是牛几。
输入格式: 首先输入一个整数T(1<=T<20),表示测试组数。 每组测试输入5个整数(范围为1到10,可以重复,其中1表示牌面为A),数据之间以一个空格分隔。
输出格式: 对于每组测试,在一行上输出一个整数表示牛几,若双牛则输出10,若无牛则输出0。
输入样例:
2
8 1 4 6 7
4 3 4 6 10
1
2
3
输出样例:
0
7
1
2
两种方法实现: 第一种:
#include <stdio.h>
int main()
{
//T为测试组数,每组测试输入5个整数;若双牛则输出10,若无牛则输出0。
int T,niu[60],sum=0;
int i,j,x,y,z,flag,k,sun[20];
scanf("%d",&T);
for(i=0;i<T;i++)
{ sun[i]=0;
for(j=0;j<5;j++)
{
//随机三个数为求和;
scanf("%d",&niu[j+i*5]);
sun[i]+=niu[j+i*5];
}
}
for(i=0;i<T;i++)
{ flag=1;
k=0;
for(x=0; x<3 && flag ;x++)
{
for(y=x+1;y<4 && flag;y++)
{
for(z=y+1;z<5;z++)
{
sum=niu[x+i*5]+niu[y+i*5]+niu[z+i*5];
if(sum%10==0)
{
flag=0;
k=sun[i];
k-=sum;
break;
}
}
}
}
printf("%d\n",k);
}
}