Как сделать так, чтобы процедура типа void возвращала значение? - C (СИ)
Формулировка задачи:
Доброго времени суток! Ребят, помогите поправить процедуру. Она должна быть типа void, но при этом нужно, чтобы возвращала значение. Заранее благодарю
Листинг программы
- #include <stdio.h>
- #include <math.h>
- #include <conio.h>
- void digit(int n, float &S)
- {
- S=0;
- while(n!=0)
- {
- S=S+n%10;
- n=n/10;
- }
- }
- int main() {
- int n;
- float S;
- printf("VVedite natural'noe chislo: ");
- scanf("%d",&n);
- digit(n,S);
- if (S>10) printf("\nVerno");
- else printf("\nNe verno");
- getch();
- }
Решение задачи: «Как сделать так, чтобы процедура типа void возвращала значение?»
textual
Листинг программы
- #include <stdio.h>
- #include <math.h>
- #include <conio.h>
- void
- digit(int n, float* s)
- {
- float t;
- t = 0;
- while(n!=0) {
- t += n%10;
- n /= 10;
- }
- *s = t;
- }
- int
- main(void)
- {
- int n;
- float s;
- printf("VVedite natural'noe chislo: ");
- scanf("%d", &n);
- digit(n, &s);
- if (s>10)
- printf("Verno\n");
- else
- printf("Ne verno\n");
- getch();
- return 0;
- }
Объяснение кода листинга программы
- Подключение необходимых библиотек:
для работы с выводом на экран, для выполнения математических операций и для работы с клавиатурой и мышью. - Создание функции digit с типом возвращаемого значения void и двумя аргументами типа int и float*. Функция принимает целое число n и указатель на переменную типа float s. Внутри функции объявлена временная переменная t типа float.
- В цикле while происходит перебор цифр числа n. На каждой итерации к переменной t прибавляется остаток от деления n на 10, а затем n делится на 10.
- По завершении цикла, значение переменной t присваивается переменной s.
- В функции main создается переменная типа int n для ввода числа и переменная типа float s для хранения результата.
- С помощью функции scanf вводится натуральное число.
- Вызывается функция digit с передачей в нее значения переменной n и адреса переменной s.
- С помощью условного оператора if проверяется, больше ли значение переменной s 10. При этом выводится соответствующее сообщение на экран.
- Вызов функции getch для приостановки работы программы до нажатия клавиши.
- Завершение функции main с возвратом значения 0.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д