>>72
とりあえず(2)だけ
(3)はこれを僅かに書き換えるだけなので自分でやってくれ。
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
typedef struct{char a[3];int b;char c[11];}csv_dat;
int main(){
    int nsize=0,i;
    csv_dat*p=NULL;
    char buf[80];
    FILE*fp=fopen("a.csv","r");
    while(p=realloc(p,(nsize+1)*sizeof(csv_dat)),
        fscanf(fp," %[^ ,] , %d , %s",p[nsize].a,&p[nsize].b,p[nsize].c)==3
    )   ++nsize;
    scanf("%s",buf);
    for(i=0;i<nsize;++i)
        if(strcmp(p[i].a,buf) == 0)printf("%d %d\n",i,p[i].b);
    return 0;
}