What is wrong with my Arduino 7-segment display code?
If I understand your symptoms correctly, you need a second delay.

Here's what the code looks like if you executed the loop a few times:

  n0();
  delay(1000);
  ndash();
  n0();
  delay(1000);
  ndash();
  n0();
  delay(1000);
  ndash();
  n0();
  delay(1000);
  ndash();


ndash() is only displayed for however long it takes for n0() to execute, which is probably too fast to see.