Вывести с помощью функции максимальное из трех чисел - C (СИ)
Формулировка задачи:
Помогите с элементарной программой. Только начал изучать Си( всего пару дней)( 1 язык программирования) и никак не могу понять как реализовывается функция и как работать с указателями. Помогите люди добрые)
1. Задача (Вывести с помощью функции макс. элемент из 3). Что я делаю не так?
#include "stdafx.h" #include <stdio.h> #include <stdlib.h> #include <math.h> void max3(int *a, int *b ,int *c); { if ((*a>*b) & (*a>*c)) printf("a = ",*a); if ((*b>*a) & (*b>*c)) printf("b = ",*b); if ((*c>*b) & (*c>*a)) printf("c = ",*c); return 0; } int _tmain(int argc, _TCHAR* argv[]) { int a,b,c; printf("a= "); scanf("%d",&a); printf("b= "); scanf("%d",&b); printf("c= "); scanf("%d",&c); max3(&a,&b,&c); return 0; }
Решение задачи: «Вывести с помощью функции максимальное из трех чисел»
textual
Листинг программы
#include "stdafx.h" #include <stdio.h> #include <stdlib.h> #include <math.h> void max3(int *a, int *b ,int *c); { if ((*a>*b) && (*a>*c)) printf("a = ",*a); if ((*b>*a) && (*b>*c)) printf("b = ",*b); if ((*c>*b) && (*c>*a)) printf("c = ",*c); } int _tmain(int argc, _TCHAR* argv[]) { int a=10,b=20,c=30; printf("a= "); scanf("%d",&a); printf("b= "); scanf("%d",&b); printf("c= "); scanf("%d",&c); max3(&a,&b,&c); getchar(); }
Объяснение кода листинга программы
- Включаем необходимые заголовочные файлы
- Объявляем функцию
max3
, которая принимает три указателя на целочисленные переменные - Внутри функции сравниваем значения переменных и выводим наибольшее на экран
- В главной функции программы объявляем три целочисленные переменные
a
,b
иc
и инициализируем их значениями 10, 20 и 30 соответственно - Запрашиваем у пользователя новые значения для переменных
a
,b
иc
с помощью функцииscanf
- Вызываем функцию
max3
передавая ей адреса переменныхa
,b
иc
- Программа ожидает ввода символа для подтверждения корректности введенных значений
- В конце программы вызывается функция
getchar
для получения этого символа
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д