Главная /
Программирование на языке C в Microsoft Visual Studio 2010 /
Какие утверждения являются верными для приведенной программы? void fillOnly(int); void free_n(int); void fill_n(int); int main (void) { int n = 1; int in = 1; printf("\n Enter a length of string (naturel number): "); in = scanf_s("%i", &n); if (in !=
Какие утверждения являются верными для приведенной программы?
void fillOnly(int);
void free_n(int);
void fill_n(int);
int main (void)
{
int n = 1;
int in = 1;
printf("\n Enter a length of string (naturel number): ");
in = scanf_s("%i", &n);
if (in != 1 || n < 1 || n > 15)
{
printf("\n Error input. Press any key to exit: ");
_getch();
exit(0);
}
puts("\n\tResult:");
fill_n(n);
printf("\n\n Press any key to exit: ");
_getch();
return 0;
}
void fillOnly(int n) {
if (n == 1)
printf("\t%+3d\n", 1);
else {
fillOnly(n-1);
printf("\t%+3d\n", n);
free_n(n-1);
}
}
void free_n(int n)
{
if (n == 1)
printf("\t%+3d\n", -1);
else {
fillOnly(n-1);
printf("\t%+3d\n", -n);
free_n(n-1);
}
}
void fill_n(int n)
{
if (n == 1)
printf("\t%+3d\n", 1);
else {
if (n == 2)
printf("\t%+3d\n\t%+3d\n", 1, 2);
else {
fillOnly(n-1);
printf("\t%+3d\n", n);
fill_n(n-2);
}
}
}
вопрос
Правильный ответ:
в программе определено 3 рекурсивных функции
в программе определено 4 рекурсивных функции
в каждой пользовательской функции используются прямая и косвенная рекурсия
Сложность вопроса
83
Сложность курса: Программирование на языке C в Microsoft Visual Studio 2010
62
Оценить вопрос
Комментарии:
Аноним
Экзамен сдан на 5. Спасибо за халяуву
13 окт 2020
Аноним
Я завалил сессию, какого чёрта я не нашёл данный сайт с всеми ответами по тестам интуит раньше
07 июн 2019
Другие ответы на вопросы из темы программирование интуит.
- # Почему при использовании макросов с формальными параметрами увеличивается скорость выполнения кода?
- # Приведенная программа считает в обратном порядке, начиная с какого-либо значения (указанного в командной строке): int main(int argc, char *argv[]) { int disp, count; setlocale (LC_ALL, "rus"); if(argc<2) { printf("В командной строке на задано число\n"); exit(1); } if(argc==3 && !strcmp(argv[2], "display")) disp = 1; else disp = 0; for(count=atoi(argv[1]); count; --count) if(disp) printf("%d ", count); putchar('\a'); printf("Счет закончен"); return 0; } Что будет выведено на экран в результате выполнения приведенной программы, если ее запуск выполняется из командной строки командой Example.exe?
- # Что будет выведено на экран в результате выполнения приведенных инструкций при попытке пользователя вычислить значение 5^6? int a, b, res = 0; char op; int f = 1; printf("Введите 1й операнд: "); scanf("%d", &a); printf("Введите знак операции: "); scanf("%s", &op); printf("Введите 2й операнд: "); scanf("%d", &b); switch (op) { case '+': res = a+b; break; case '-': res = a-b; break; case '*': res = a*b; break; case '/': res = a/b; break; default: printf("Неизвестная операция\n"); f = 0; } if (f) printf ("Результат: %d", res);
- # Чему будет равно значение переменной sum после выполнения приведенной программы? #include <stdio.h> #define N 5 #define M 2 int main() { int i, j, sum=0; int arr[N][2] = {0,1,2,3,4,5,6,7,8,9}; for (i=0; i<N; i++) { for (j=0; j<M; j++) if (!(arr[i][j]%2)) sum+=arr[i][j]; } printf("sum = %d\n", sum); return 0; }
- # В каком случае при возникновении ошибки при выделении памяти эта ошибка не будет корректно обработана?