fgets(buff, sizeof(buff), stdin);
n = atoi(buff);
これでなんか問題ある?