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