вопрос состоит из двух частей: Как задающие пользователь сколько человек введено? И как я могу хранить данные?
Вторая часть проста: независимо от того, сколько человек вы собираетесь рассмотреть, если вы просто хотите узнать, кто является старшим, достаточно сохранить имя и возраст самого старого человека. (Конечно, если есть галстук, и многие люди, скажем, 80 лет, вы просто получите первый матч.)
Не хранить ничего также упрощает первый вопрос. Вы можете попросить пользователя указать количество людей заранее и это найти, если у вас мало людей. Если у вас есть список многих людей, пользователь должен будет подсчитать вручную, а затем ввести счетчик. Перепродажа очень вероятна.
Лучше всего указать конец ввода другими средствами, например, отрицательным возрастом или двумя тире в качестве имени. Также существует вероятность того, что вход заканчивается, например, при перенаправлении ввода из файла или при нажатии клавиши Ctrl-Z или Ctrl-D, в зависимости от вашей платформы, после ввода.
В приведенном ниже примере прочитайте строку ввода, а затем сканируйте эту строку. Цикл while (1)
теоретически бесконечен, на практике выполнение вырывается из цикла, когда заканчивается вход – fgets
NULL
–, когда пустая строка считывается или когда вход не находится в формате однословного имени и возраста.
#include <stdio.h>
int main(void)
{
char oldest[80] = "no-one";
int max_age = -1;
int count = 0;
puts("Enter name & age on each line, blank line to stop:");
while (1) {
char line[80];
char name[80];
int age;
if (fgets(line, sizeof(line), stdin) == NULL) break;
if (sscanf(line, "%s %d", name, &age) < 2) break;
if (age > max_age) {
strcpy(oldest, name);
max_age = age;
}
count++;
}
printf("The oldest of these %d people is %s, aged %d.\n",
count, oldest, max_age);
return 0;
}
идут по коду и заменить все 5 с именем переменной, такой как N, а затем присвоить значение N (конечно, прежде, чем N используется) – CIsForCookies
Я думаю, что ОП хочет, чтобы во время выполнения не время компиляции - т.е. введите «N» в командной строке или прочитайте все строки в файле и т. д. – kdopen