char str[65536];
scanf("%[^a-zA-Z]",str);

↑
これってどういう意味か知ってる?