Então, eu consegui fazer, mas acho que está de um jeito diferente do que o professor quer, pois não estou utilizando os 1 -1 para nada #include <stdio.h>
#include <stdlib.h>
int main ()
{
FILE *fp;
int i=0,pos=1,nvl=1,pot=2;
char k,str[10][10];
if ((fp=fopen("arquivo.txt","r"))==NULL)
{
puts ("O arquivo não pode ser aberto.\n");
exit (1);
}
for (i=0;str[i][0]!=EOF;i++)
fgets(str[i],9,fp);
puts ("Digite a chave que deseja buscar.");
k=getchar();
i=0;
while (str[i][0])
{
if (k==str[i][0]) printf ("A chave %c esta no nivel %d e na posicao %d\n",k,nvl,pos);
i++;
pos++;
if (i+1==pot){
nvl++;
pot*=pot;
pos=1;
}
}
system ("pause");
}