連想配列

#include <stdio.h>

int main(void)
{

int num[][3] = {
{1,1,1},{2,4,8},{3,9,27}
};

int suji,i;

printf("オッス!3乗値を入力してくれ");
scanf("%d",&suji);

for(i = 0;i<3;i++)
  if(num[i][0] == suji){
    printf("3乗根:%d",num[i][0]);
    printf("根の2乗:%d",num[i][1]);
    break;
}

if(suji == 3)
  printf("3乗値はないです");

return 0;
}

int num[1][2]なら8にアクセスする。
int num[0][0]なら1にアクセスする。

でいいのかな。