これ以降どうすればいいのか分かりません
「国語、英語、数学のデータを別ファイルから読み取り、その合計点から1位、2位、3位を表示する」というプログラムを作りたいのですが
c++ で書いています。コンパイルまではエラーが出ないのですが実行しようとしても進みません。どこかで何かが無限ループしてるような気がしますが自分には分かりませんどなたか教えてください。

#include<stdio.h>
int main()
{FILE*f;
    float kokugo[10],suugaku[10],eigo[10],xmax,sum[10],sumdummy;
    int i,j,jmin,n;
    f=fopen("ファイル名","r");

    if(f==NULL){
        printf("ファイル名を開けません"\n");
        return 1; 
    }

    for(i=0;i<30;i+3)
        fscanf(f,"%g",kokugo[i]);

    for(i=0;i<30;i+3)
        fscanf(f,"%g",suugaku[i]);

    for(i=0;i<30;i+3)
        fscanf(f,"%g",eigo[i]);

    fclose(f);

    if(n==0){
        printf("ファイル名にはデータがありません);
        return1;
    }

    for(j=0;j<=10;j++){
        sum[j]=kokugo[i]+suugaku[i]+eigo[i];
    }

    for(j=0;j<10;j=j+1){
        if (sum[j]<sum[jmin])jmin=j;
    }

    if(j!=jmin){
        sumdummy=sum[j];
        sum[j]=sum[jmin];
        sum[jmin]=sumdummy;
    }

    for(j=0;j<=3;j++){
        printf ("%g",sum[j]);
    }

    return 0;
}

点数のデータ
1人目の国語
1人目の数学
1人目の英語


10人目の国語
10人目の数学
10人目の英語