> 条件として省略学籍番号は文字型で読み込み、最後に正式学籍番号を単一の文字列として完成させる。
がわからん。
1文字ずつ読む条件ならscanf("%s",a)はおかしいし。