Программа должна вычислять введенное треугольное число и позволяя пользователю многократный ввод - C (СИ)
Формулировка задачи:
Всем привет!
Программа должна вычислять введенное треугольное число и позволяя пользователю многократный ввод.
Проблема в том что, если ввести следующее число то, она складывается с первым, например,
Треугольное число 5 = 15
Треугольное число 5 = 30 (она складывается с первым значением)
и объясните почему, если убрать второй scanf в коде то, цикл не останавливается, становиться бесконечным
Листинг программы
- #include <stdio.h>
- int main ()
- {
- int n, number, triangularNumber, n2;
- n2 = 0;
- triangularNumber = 0;
- printf ("What triangular number do you want? ");
- scanf("%i", &number);
- while (n2 <= number)
- {
- for (n = n2; n <= number; ++n)
- triangularNumber += n;
- printf("Triangular number %i is %i\n\n", number, triangularNumber);
- printf ("Enter next triangular number ");
- scanf("%i", &number);
- }
- return 0;
- }
Решение задачи: «Программа должна вычислять введенное треугольное число и позволяя пользователю многократный ввод»
textual
Листинг программы
- int val;
- do
- {
- scanf("%d", &val);
- printf("triangular - %d\n", (val + 1) * val / 2);
- } while (val > 0);
Объяснение кода листинга программы
- Введенное значение переменной
val
используется как параметр для вычисления треугольного числа по формуле (val + 1) * val / 2. - Результат вычисления треугольного числа выводится на экран с помощью функции
printf
. - Программа продолжает запрашивать у пользователя ввод значения переменной
val
и вычислять треугольное число до тех пор, пока значение переменнойval
больше нуля.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д