简单的遍历即可解决
AC代码
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void main()
{
int i,j;
int num,index=1;
int* code;
int* temp;
int* guess;
int strong,weak;
scanf("%d",&num);
while(num){
printf("Game %d:\n",index++);
code=(int*)malloc(sizeof(int)*num);
temp=(int*)malloc(sizeof(int)*num);
guess=(int*)malloc(sizeof(int)*num);
for(i=0;i<num;i++) scanf("%d",code+i);
for(i=0;i<num;i++) scanf("%d",guess+i);
while(guess[0]){
memcpy(temp,code,sizeof(int)*num);
strong=weak=0;
for(i=0;i<num;i++){
if(guess[i]==temp[i]){
strong++;
guess[i]=temp[i]=0;
}
}
for(i=0;i<num;i++){
for(j=0;j<num;j++){
if(i!=j&&guess[i]==temp[j]&&guess[i]!=0){
weak++;
guess[i]=temp[j]=0;
}
}
}
printf(" (%d,%d)\n",strong,weak);
for(i=0;i<num;i++) scanf("%d",guess+i);
}
scanf("%d",&num);
free(temp);
free(code);
free(guess);
}
}