Как сделать так, чтобы процедура типа 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.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д