c语言写猜数字的~新~有关问题

c语言写猜数字的~新~问题
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define N 4

typedef struct
{
 char name [30];
 int score;
}DATA;

typedef struct
{
 int A;
 int B;
}SAVE;

void menu ();
DATA game ();
int balance (int i, int j );

int main()
{
  menu();
  return 0;
}

void menu ()
{
  char a;
  printf("\t \t主菜单\n\n " );
  printf("\t0\t绝世黑客\n\n " );
  printf("\t1\t英雄排名\n\n " );
  printf("\t2\t清楚英雄记录\n\n " );
  printf("\t3\t退出系统\n\n " );
  printf("\t 请输入一个编号:[ ]\b\b" );
  scanf("%c",&a);
  switch (a)
  {
  case '0': game(); //进入游戏 
  break;
  //case 1: display(); //查看排名 
  //break;
  //case 2: clear(); //清楚所有排名 
  break;
  //case 3: quit(); //退出系统 
  break;
  default:
  printf("输入有误,请从新输入\n");
  } 
  return;
}

DATA game () //游戏主程序 
{
 int question[N ];
 int answer[N ];
 int i,j,k=0,l,m,n;
 int defen;
 int grades=0;
 int result_a=0,result_b=0;
 int end=0;
 char ch;
 char name[30];
 DATA player;
 int a=0;
 int b=0;
 srand((unsigned )time(NULL ) );
  for(i=0;i<N;i++)
  {
  question[i ]=rand()%11-1;
  }
 printf("你打开程序,感觉到一震眩晕,醒来后才发现你进入了计算机世界");
 printf("现在你要破解一切密码,来揭开这一切谜底。。。。。。\n\n");
 printf("现在你需要输入一组四位整数,如:1234,来进行猜测密码,我会对你进行提示,直到得出正确答案\n");
 printf("请输入密码:");
  while(end!=1 )
  {
  scanf("%s", &answer );
  for(j=0; j<N; j++ )
  {
  result_a=balance(question[j ], answer[j ] );
  a=a+result_a+a;
  }
  if(result_a==4 )
  {
  printf("\nyou do a great job!\n " );
  k=1;  
  end=1;
  }
  else
  {
  printf("是否放弃?放弃后显示正确答案。y/n \n" );
  ch=getchar();
  if(ch=='y')
  {
  printf("正确答案是: " );
  for(n=0; n<N; n++ )
  {
  printf("%d ", question[n] );
  }
  printf("请输入您的姓名: " );
  scanf("%s ", name );
  end=1;  
  }
  else
  {
  for(l=0; l<N; l++ )
  {
  for(m=0; m<N; m++ )
  {