Найти числа в интервале и посчитать их сумму - C (СИ)
Формулировка задачи:
Изначальное задание : Человек должен вводить два числа типа N и M , и в интервале чисел от 0 до числа N надо найти такие числа где число делиться с M . И когда он выводит эти числа на экран - программа еще должна посчетать сумму этих чисел между собой .
Вобщем программа почти готова = от вас прошу что-бы вы помогли что-бы когда он выводит числа = он еще счетал сумму их между собой (незнаю как сделать это ) и еще что-бы нельзя было вводить 0 и 0 = а то потом происходит бесконечное деление и прога виснет (
Жду ваших вариантов - заранее спасибо ))
#pragma hdrstop
#pragma argsused
#include <stdio.h>
#include <conio.h>
void main() {
int i, m, n;
char x;
do {
printf("Vvedite cislo :");
scanf("%d", &m);
printf("Vvedite interval cto nacinaetsa s 0:");
scanf("%d", &n);
if (n<0 ) {
printf("Vne diapazona");
}
if (n<m) {
printf("Sliskom malenkij interval\n");
}
for (i = 0; i <= n; i += m)
printf("%d\n", i);
printf("\nEsli hotite povtorit programmu naznite Y\n\nEsli ne hotite,nazmite lunuju druguju klavisu\n");
flushall();
scanf(" %c", &x);
}
while (x == 'y' || x == 'Y');
getch();
}Решение задачи: «Найти числа в интервале и посчитать их сумму»
textual
Листинг программы
#include <stdio.h>
int main() {
int i, m, n;
unsigned int sum = 0;
printf("Enter M:");
scanf("%d", &m);
printf("Enter N:");
scanf("%d", &n);
if ( m > 0 ) {
for ( i = 0; i <= n; i += m ) {
sum += i;
printf("%d\n", i);
printf("sum=%d\n", sum);
}
} else {
printf("Wrong value!");
}
getch();
return 0;
}
Объяснение кода листинга программы
В этом коде:
- Объявлены три переменные типа int: i, m, n. Переменная i используется как счётчик в цикле, m и n — для ввода пользователем интервала чисел.
- Объявлена переменная типа unsigned int sum, которая будет хранить сумму чисел.
- Выводится сообщение
Enter M:и пользователю предлагается ввести значение m. - Выводится сообщение
Enter N:и пользователю предлагается ввести значение n. - Проверяется, что m больше нуля, иначе выводится сообщение
Wrong value!. - Если m больше нуля, то в цикле суммируются числа от 0 до n с шагом m, и выводится каждое число и текущая сумма.
- Если m меньше или равно нулю, то выводится сообщение
Wrong value!. - Выводится значение sum.
- Программа завершается, возвращая 0.