Подсчитать сумму положительных чисел и определить номера отрицательных чисел - C (СИ)
Формулировка задачи:
Помогите пожалуйста доделать программу. С суммой положительных разобрался, а вот как вывести номера отрицательных не знаю(
#include<stdio.h>
#include<conio.h>
void main()
{
int x,sum=0,i,kol=0;
printf("Введите числа\n");
clrscr();
for (i=1;i<=10;i++)
{
scanf("%d",&x);
if (x>=0) sum+=x;
if (x<=0) i;
}
printf("Сумма положительных чисел =%d\n", sum);
printf("Номера отрицательных=%d", i);
}Решение задачи: «Подсчитать сумму положительных чисел и определить номера отрицательных чисел»
textual
Листинг программы
#include <stdio.h>
//#include<conio.h>
#define N 10
int main(void)
{
int x, sum=0 , i, j[N];
int negativ = 0;
//clrscr();
printf("Введите числа\n");
for (i=0; i<N; i++) {
scanf("%d", &x);
if (x>=0) {
j[i] = 0;
sum+=x;
}
else {
j[i] = 1;
negativ = 1;
}
}
printf("Сумма положительных чисел = %d\n", sum);
if (negativ) {
printf("Номера отрицательных = ");
for (i=0; i<N; i++)
if (j[i])
printf("%i ", i+1);
putchar('\n');
}
return 0;
}
Объяснение кода листинга программы
Вывод:
- В программе используется язык программирования C.
- Программа считывает 10 целых чисел от пользователя.
- Переменная
sumинициализируется нулем и используется для подсчета суммы положительных чисел. - Переменная
negativинициализируется нулем и используется для подсчета количества отрицательных чисел. - Переменная
iиспользуется в цикле for для итерации от 0 до 9. - Переменная
xиспользуется для хранения считанного числа. - Переменная
jиспользуется для хранения информации о том, является ли число отрицательным. - Если число положительное, то его прибавляют к
sumи устанавливаютjравным нулю. - Если число отрицательное, то устанавливают
jравным единице и увеличиваютnegativна единицу. - После окончания цикла выводится сумма положительных чисел.
- Если
negativбольше нуля, то выводятся номера отрицательных чисел. - Программа завершается возвратом нуля.