Главная /
Программирование на языке C в Microsoft Visual Studio 2010 /
Задана программа, позволяющая пользователю задать данные о студенте с клавиатуры: typedef struct { char fio[30]; int group; float average; } student; void Init(student*); int main(void) { student s, *st; int i; st = &s; Init(st); <Вывод данных на э
Задана программа, позволяющая пользователю задать данные о студенте с клавиатуры:
typedef struct {
char fio[30];
int group;
float average;
} student;
void Init(student*);
int main(void)
{
student s, *st;
int i;
st = &s;
Init(st);
<Вывод данных на экран>
return 0;
}
void Init(student *st)
{
printf("\nEnter name: ");
scanf("%s", st->fio);
printf("\nEnter group: ");
scanf("%d", &st->group);
printf("\nEnter average mark: ");
scanf("%f", &st->average);
}
Необходимо дополнить программу функцией вывода заданных о студенте данных на экран и вызовом этой функции в программе. Какой вариант описания и вызова функции выполняет поставленную задачу?
вопрос
Правильный ответ:
функция:
void Print(student *st)
{
printf("\nName: %s", st->fio);
printf("\nGrouproup: %d", st->group);
printf("\nAverage mark: %.2f", st->average);
}
вызов:
Print(st);
функция:
void Print(student st)
{
printf("\nName: %s", st.fio);
printf("\nGrouproup: %d", st.group);
printf("\nAverage mark: %.2f", st.average);
}
вызов:
Print(st);
функция:
void Print(char *n, int i, float d)
{
printf("\nName: %s", n);
printf("\nGrouproup: %d", i);
printf("\nAverage mark: %.2f", d);
}
вызов:
Print(st.fio, st.group, st.average);
функция:
void Print(char *n, int i, float d)
{
printf("\nName: %s", n);
printf("\nGrouproup: %d", i);
printf("\nAverage mark: %.2f", d);
}
вызов:
Print(st->fio, st->group, st->average);
Сложность вопроса
59
Сложность курса: Программирование на языке C в Microsoft Visual Studio 2010
62
Оценить вопрос
Комментарии:
Аноним
Зачёт прошёл. Лечу кутить отмечать сессию интуит
06 окт 2019
Аноним
Какой человек ищет данные ответы интуит? Это же легко
31 окт 2017
Другие ответы на вопросы из темы программирование интуит.
- # Функция swap() имеет два аргумента-указателя и выполняет обмен значений элементов: void swap(int *pa, int *pb) { int temp; temp = *pa; *pa = *pb; *pb = temp; } В каком случае вызов функции swap() осуществляется верно?
- # В приведенной программе используется указатель на функции, которые выполняют сортировку целочисленного массива "методом пузырька": void PuzSortInc (int*, int ); void PuzSortDec (int*, int); int main (void) { int A[] = {56, 34, 2, 0, 1, -21, 6, 8, 7}; int i, n, alg; <Объявление указателя pFun на функции> n = sizeof(A)/sizeof(A[0]); printf("Исходный массив: "); for (i = 0; i < n; i++) printf(" %3d", A[i]); printf("\nВыберите алгоритм сортировки (1 - \"методом пузырька\" по возрастанию,\ 2 - \"методом пузырька\" по убыванию: "); scanf("%d", &alg); switch (alg) { case 1: pFun = PuzSortInc; break; case 2: pFun = PuzSortDec; break; default: printf("ERROR! Такого алгоритма не определено!"); } if (pFun) { pFun(A,n); printf("\nSorted array: "); for (i = 0; i < n; i++) printf(" %3d", A[i]); }; return 0; } void PuzSortInc (int* arr, int size) { int i, j, buf; for (i = 0; i < size - 1; i++ ) { for (j = 0; j < size - 1; j++) { if (arr[j] > arr[j + 1]) { buf = arr[j]; arr[j] = arr[j+1]; arr[j+1] = buf; } } } } void PuzSortDec (int* arr, int size) { int i, j, buf; for (i = 0; i < size - 1; i++ ) { for (j = 0; j < size - 1; j++) { if (arr[j] < arr[j + 1]) { buf = arr[j]; arr[j] = arr[j+1]; arr[j+1] = buf; } } } } Функция PuzSortInc() выполняет сортировку по возрастанию, функция PuzSortDec() - по убыванию. Каким образом должен быть объявлен указатель на функции для его использования в приведенной программе?
- # Что произойдет при выполнении программы? int summa(int N, int a[6]); int main() { int i,n; int a[6] = {8, 65, 10, 2, 4, 1}; n = sizeof(a)/sizeof(a[0]); printf("Сумма: %d", summa(n-1, a)); } int summa(int N, int a[6]) { if (N==0) return a[0]; else return a[N]+summa(N-1, a); }
- # Что будет выводиться на экран во время выполнения приведенного фрагмента кода? int x, n = 1; while (n<=10) { x = n*n; printf("%d %d\n", n, x); }
- # Какая переменная после выполнения приведенного фрагмента кода определяет общий размер массива в байтах? int size1, size2, size3; int arr[5][2] = {0,1,2,3,4,5,6,7,8,9}; size1 = sizeof(arr)/sizeof(arr[0][0]); size2 = sizeof(arr)/sizeof(arr[0]); size3 = sizeof(arr);