Упражнения C: Вычислить сумму чисел в данном массиве, кроме тех чисел, которые начинаются с 5, а затем по крайней мере один 6
Базовый алгоритм C-программирования: Упражнение 53 с решением
Напишите программу на C, чтобы вычислить сумму чисел в данном массиве, кроме тех чисел, которые начинаются с 5, после которых следует по крайней мере один 6. Возвращает 0, если в указанном массиве нет целых чисел.
Код C:
#include <stdio.h>
#include <stdlib.h>
int main(void){
int array1[] = {1, 5, 6, 9, 10, 17};
int arr_size = sizeof(array1)/sizeof(array1[0]);
printf("Sum of values in the array of integers except those numbers starting with 5 followed by atleast one 6: ");
printf("%d",test(array1, arr_size));
}
int test(int nums[], int arr_size)
{
int sum = 0;
int inSection = 0;
for (int i = 0; i < arr_size; i++)
{
if (nums[i] == 5) inSection = 1;
else if (inSection && nums[i] == 6) inSection = 0;
else if (!inSection) sum += nums[i];
}
return sum;
}
Пример вывода:
Сумма значений в массиве целых чисел, за исключением тех чисел, которые начинаются с 5, а затем по крайней мере один 6: 37
Иллюстрированная презентация:
Блок - схема:
Решение
Внесите свой код и комментарии через Disqus.
Previous: написать программу на C для вычисления суммы значений в данном массиве целых чисел, кроме числа 17. Возвращает 0, если в указанном массиве нет целого числа.
Далее: Напишите программу на C, чтобы проверить, содержит ли данный массив целых чисел 5 рядом с 5 где-то.
Новый контент: Composer: менеджер зависимостей для PHP , R программирования
disqus2code