Вычислить сумму позиций всех элементов больше символа - C (СИ)
Формулировка задачи:
Ввести строку символов. Вычислить сумму позиций всех элементов больше символа <M>. Вывести на экран значение максимального символа в строке.
Решение задачи: «Вычислить сумму позиций всех элементов больше символа »
textual
Листинг программы
#include<stdio.h>
#include<string.h>
int main()
{
int i,j;
char max;
char arr[1000];
gets(arr);
j = 0;
max = arr[0];
for(i = 0; i < strlen(arr); i++)
{
if (arr[i] > 'M')
j = j + i;
if (max < arr[i])
max = arr[i];
}
printf("Summa: %d\nMAX: %c\n",j,max);
}
Объяснение кода листинга программы
В этом коде:
- Объявлены переменные:
i- цикл, используемый в цикле for;j- переменная для хранения суммы позиций;max- переменная для хранения максимального символа.
- Введен массив
arrразмером 1000 символов. - Введенная строка сохраняется в массиве
arr. - Переменная
jинициализируется нулем. - Первый символ массива
arrприсваивается переменнойmax. - Происходит цикл по всем символам строки
arr. Если текущий символ больше символа<M>, то к переменнойjприбавляется индекс текущего символа. Если текущий символ больше максимального символа, то он становится новым максимальным символом. - После цикла выводится сумма позиций всех символов больше символа
<M>и максимальный символ.