用二重数组来做统计该怎么改啊

想用二重数组来对国家进行统计,便于后面对国家奖牌数的统计
但在试运行代码的时候,总是会直接跳回了菜单界面
下面是出问题的部分和主函数

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<windows.h>
struct yundongyuan
{
    char country[15];        
    char event[10];        
    char name[30];        
    float score;
    int rank;        
    int G;        
    int S;        
    int B;    
};

int tianjia(char arr[],char b[][15],int n)
{
    int i;
    if(n=0)
    {
        b[0]=arr;
        n=n+1;
        return n;
    }
    for(i=0;i<n;i++)
    {
        if(strcmp(b[i],arr)==0)
        {
            return n;
        }
        else if(strcmp(b[i],arr)!=0 && i=n-1)
        {
            b[n]=arr;
            n=n+1;
            return n;
        }
    }
}

int tongji1(struct yundongyuan arr[],char b[][15],int n,int m)//创建的时候用二维数组 
{
    int x,y,z;//x为金牌数,y为银牌数,z为铜牌数
    for(m=0;b[m]!='\0';m++)
    {
        for(n=0;arr[n].country!='\0';n++)
        {
            if(strcmp(arr[n].country,b[m])==0)
            {
                if(arr[n].rank==1)
                    x=x+1;
                else if(arr[n].rank==2)
                    y=y+1;
                else if(arr[n].rank==3)
                    z=z+1; 
            }
        }
        printf("%d  %d  %d",x,y,z);
    } 
    return 0;
}
int add_yundongyuan(struct yundongyuan arr[],int n)        //添加联系人函数 
{
    system("cls");                //清屏 
    printf("请输入项目名称:");
    scanf("%s",arr[n].event);
    printf("请输入运动员姓名:");
    scanf("%s",arr[n].name);
    printf("请输入运动员国籍:");
    scanf("%s",arr[n].country);
    printf("请输入运动员成绩:");
    scanf("%f",&arr[n].score);
    printf("请输入运动员的排名:");
    scanf("%d",&arr[n].rank);
    printf("添加成功!\n");
    system("pause");            //暂停界面 
    return n+1;
}
int main()
{
    system("cls");
    int choice;
    int num=0;
    int num1=0;                
    char s[10][15];    
    struct yundongyuan per[100];        
    do
    {
        choice=menu();
        switch(choice)
        {
        case 1:
            num=add_yundongyuan(per,num);
            num1=tianjia(arr[num-1].country,s,num1);    
            break;
    case 2:
            delete_yundongyuan(per,num);        
            break;
        case 3:
            modify_yundongyuan(per,num);        
            break;
        case 4:
            tongji(per,s,num,num1);
            break;
        case 5:
            search_yundongyuan_event(per,num);        
            break;
        case 6:
            rank_yundongyuan_country(per,num);        
            print_yundongyuan(per,num);
            system("pause");
            break;
        case 7:
            rank_yundongyuan_event(per,num);    
            system("pause");
            break;
        case 0:
            printf("\t谢谢使用!\n");
            exit(0);
        }
    }while(choice!=0);
    return 0;
}

说一说你运行到哪一步会跳到主界面啊
20行if(n=0) 改为 if(n==0)啊
32行else if(strcmp(b[i],arr)!=0 && i=n-1)
最后是i==n-1吧