Главная /
Программирование на языке C в Microsoft Visual Studio 2010 /
Приведенная программа использует указатель на функции, которые выполняют различные действия: вычисление квадратного корня, вычисление синуса, вычисление тангенса: int main (void) { double (*pFunc) (double); int c = 1; double y; while(1) { printf("Выберите
Приведенная программа использует указатель на функции, которые выполняют различные действия: вычисление квадратного корня, вычисление синуса, вычисление тангенса:
int main (void)
{
double (*pFunc) (double);
int c = 1;
double y;
while(1) {
printf("Выберите функцию (0-выход): 1-sqrt, 2-sin, 3-tan\n");
scanf("%d", &c);
switch(c) {
case 1: pFunc = sin; break;
case 2: pFunc = sqrt; break;
case 3: pFunc = tan; break;
case 0: return;
default: continue;
}
y = pFunc(1.1);
printf("f(1.1) = %.2f\n", y);
}
return 0;
}
Какое вычисление будет выполнено в том случае, если пользователь в запросе выбора функции задаст число 2?
вопрос
Правильный ответ:
sqrt(1.1)
sin(1.1)
tan(1.1)
Сложность вопроса
95
Сложность курса: Программирование на языке C в Microsoft Visual Studio 2010
62
Оценить вопрос
Комментарии:
Аноним
Это очень намудрённый вопрос intuit.
15 янв 2020
Аноним
Это очень элементарный вопрос по интуиту.
18 окт 2016
Другие ответы на вопросы из темы программирование интуит.
- # В какой программе выполняется верное обращение к полям объединения?
- # Каким образом нумерются разряды байта?
- # Необходимо решить задачу поиска пути между двумя городами. Карта дорог представлена в виде графа: [Большая Картинка]Процесс поиска представлен как последовательность шагов. На каждом шаге с использованием некоторого критерия выбирается точка, в котороую можно попасть из текущей. Если очередная выбранная точка совпала с заданной конечной точкой, то маршрут найден. Если не совпала - выполняется еще один шаг. Поскольку текущая точка может быть соединена с несколькими другими, то сначала выбирается точка с наименьшим номером. Для решения данной задачи задана программа (для появснения в программе приведены комментарии): #define N 8 void step(int, int, int); int map[N][N]; // карта: map[i,j]!=0, если точки i и j соединены int road[N]; // маршрут - номера точек карты int incl[N]; // incl[i]==1, если точка с номером i включена в road int start; // начальная точка маршрута int finish; // конечная точка маршрута int i, j; int main (void) { // инициализация массивов for (i=0; i<N; i++) road[i] = 0; for (i=0; i<N; i++) incl[i] = 0; for (i=0; i<N; i++) for (j=0; j<N; j++) map[i][j] = 0; // ввод значений элементов карты map[1][2] = 1; map[2][1] = 1; map[1][3] = 1; map[3][1] = 1; map[1][4] = 1; map[4][1] = 1; map[3][4] = 1; map[4][3] = 1; map[3][7] = 1; map[7][3] = 1; map[4][6] = 1; map[6][4] = 1; map[5][6] = 1; map[6][5] = 1; map[5][7] = 1; map[7][5] = 1; map[6][7] = 1; map[7][6] = 1; printf("Введите через пробел номер начальной и конечной точек: "); scanf("%d %d", &start, &finish); road[1] = start; // внести точку в маршрут incl[1] = 1; // пометить точку как включенную step(start, finish, 2); return 0; } void step(int s, int f, int p) { int c; // номер точки, в которую делается очередной шаг int i; if (s==f) { printf("Путь: "); for (i=1; i<=p-1; i++) printf("%d ", road[i]); printf("\n"); } else { // выбор очередной точки for (c=1; c<=N; c++) // проверка всех вершин if (map[s][c]!=0 && incl[c]==0) { // точка соединена с текущей и не включена в маршрут road[p] = c; // добавление вершины в путь incl[c] = 1; // пометка вершины как включенной step(c, f, p+1); incl[c] = 0; road[p] = 0; } } } Какие утверждения являются неверными для приведенной программы?
- # Какие утверждения являются верными?
- # Программа запускается с одним аргументом, задающим имя и фамилию. В каком случае в файл будет выведено только имя?