Please see my comment to the question and try to review your requirements to the functionality.
You have at least two problems in your suggestions. First, as I say, it's not clear why the second run would be required. It is never a nice option.
The second problem is: the users would not like the idea of writing how many string she/he wants to input. It would be a perfect requirement for some code, but human beings prefer to change their minds and get more freedom. The usual approach is to suggest the user to input a "special string" to indicate "end of input", for example: "Enter next line, empty line (press Enter) to exit".
But even this is not nice. A nice application can be either with some GUI, or a console-only. But if this is a console-only application, its not nice to have it interactive, as it would loose all the benefits of a console-only application (and one of the main benefits is the possibility to run if from a batch file, otherwise GUI is better).
So, what should be the requirements for such a nice/cultured console-only program? Simple. All input should be in one
command line. If such input tends to be too big, one or more of the command-line arguments may expect one or more file names specified, and those files can be used to input more detail. Only in this approach, the console-only application with variable user input can be really convenient. Please see:
http://en.wikipedia.org/wiki/Main_function#C_and_C.2B.2B[
^],
http://en.wikipedia.org/wiki/Command-line_argument#Arguments[
^],
http://en.wikipedia.org/wiki/Batch_file#Windows_NT[
^].
—SA