Здравствуйте, нужна помощь с программой. Я написал программу, объявил функцию, но не знаю, где можно применить подпрограмму. Помогите, пожалуйста.
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <locale.h>
long int Task(long int);
long int x,n;
long int main() {
setlocale( LC_ALL,"Russian" );
long n,x;
x=0;
printf("Введите число");
scanf("%d", &n);
printf("\n");
while (n>0)
{
x=x*10+n%10;
n/=10;
}
printf("%d", x);
return(0);
getch();
}


Вы можете реализовать функцию Task так, чтобы она принимала параметром одно число и возвращала другое — обращенное. Сейчас у вашей функции только заголовок, а нужно еще тело:
long int Task(long int num) {
//Здесь тело с последующим возвращением результата через оператор return
}
В тело функции вы можете перенести ваш цикл, обращающий число (используя num вместо n в качестве исходного числа), и работать исключительно с параметром num и локальными переменными этой функции. Например, так:
long int Task(long int num) {
long result = 0;
while (num > 0)
{
result = result * 10 + num % 10;
num /= 10;
}
return result;
}
А в функции main вы вместо цикла просто вызываете функцию Task и ее результат присваиваете переменной x:
printf("Введите число");
scanf("%d", &n);
printf("\n");
x = Task(n);
printf("%d", x);
return(0);
getch();
Что произойдет? Значение переменной n станет аргументом для функции Task, то есть значением ее параметра num. Функция поработает с этим значением: обратит его цифры и положит результат в свою локальную переменную result. Затем функция вернет результат в точку вызова — в строчку x = Task(n); на место "Task(n)". И этот результат будет присвоен переменной x.
Также может быть смысл переименовать функцию Task, дав ей имя соответственно ее назначению. Например, не Task, а ReverseNumber.