Не совсем корректно работает программа - C (СИ)
Формулировка задачи:
Нужно написать программу которая считает сумму 2-х предыдущих чисел (кол-во чисел пользователь вводит сам),первое число 1,второе 3
Возник такой вопрос:как мне подправить функцию printf,что бы напротив каждой суммы выводился номер соответствующего числа (того,которое пользователь ввел) и + начиная с некоторого номера сумма начинает принимать отрицательные значения ,а это приводит к тому,что не выполняется условие,что сумма <= LONG_MAX
#include <stdio.h>
#include <limits.h>
#include <locale.h>
int main ()
{
setlocale(LC_ALL,"");
int Luke1 = 1, Luke2 =3, k, i;
long int sum = 0;
printf("Введите число k:"); scanf("%d", &k);
sum <= LONG_MAX;
for ( i = 1; i <= k; i ++ )
{
sum = Luke1 + Luke2 ;
Luke1 = Luke2;
Luke2 = sum ;
printf("Сумма k-чисел Люка =%d\n", sum );
}
return (0);
}Решение задачи: «Не совсем корректно работает программа»
textual
Листинг программы
k=0;
do
{
if(k < 10)break;
scanf("%d", &k);
}
while(k < 10);
Объяснение кода листинга программы
- Установка начального значения переменной
kравным 0. - Запуск цикла
do-while - Внутри цикла проверка условия
k < 10. - Если условие истинно, то происходит выход из цикла с помощью оператора
break. - Если условие ложно, то происходит чтение значения переменной
kс помощью функцииscanf. - Значение переменной
kувеличивается на 1. - Цикл продолжается до тех пор, пока значение переменной
kменьше 10.