In North Carolina, the average salary for public school teachers ranges from approximately $49,468 to $72,306. Cities like Winston-Salem and Fayetteville offer competitive salaries, with Winston-Salem at $63,698 and Fayetteville at $62,031, reflecting the state's commitment to teacher compensation.