我写的代码:
#include<stdio.h>
int main()
{
int t,a[5],i=1;
int q=0,w=0,e=0,sum,sum2,z,x;
scanf("%d",&t);
while(i<=t)
{
scanf("%d%d%d%d%d",&a[0],&a[1],&a[2],&a[3],&a[4]);
{
for(q=0;q<5;q++)
{
for(w=0;w<5;w++)
{
for(e=0;e<5;e++)
{
sum=a[q]+a[w]+a[e];
x=sum%10;
if(x!=0)
{
printf("Case #%d: Mei Niu\n",i);
break;
}
else
{
sum2=a[0]+a[1]+a[2]+a[3]+a[4]-sum;
z=sum2%10;
if(sum2==0)
{
printf("Case #%d: Niu Niu\n",i);
}
else
{
printf("Case #%d: Niu %d\n",i,z);
}
break;
}
}
}
}
}
i++;
}
return 0;
}
问题:
会输出很多语句,可能是循环有问题。
AC:
#include<stdio.h>
int main(){
int t,a[5];
while(scanf("%d",&t)!=EOF){
int o=0;
while(t--){
for(int i=0;i<5;i++){
scanf("%d",&a[i]);
}
o++;
int m=0,n=0,sum;
for(int i=0;i<3;i++){
for(int j=i+1;j<4;j++){
for(int k=j+1;k<5;k++){
if((a[i]+a[j]+a[k])%10==0){
m=1;
sum=0;
for(int p=0;p<5;p++){
if(a[p]!=a[i]&&a[p]!=a[j]&&a[p]!=a[k]) sum+=a[p];
}
if(sum%10==0) n=1;
}
}
}
}
if(m){
if(n){
printf("Case #%d: Niu Niu\n",o);
}
else printf("Case #%d: Niu %d\n",o,sum%10);
}
else printf("Case #%d: Mei Niu\n",o);
}
}
return 0;
}
我没看懂。