Подсчитать общее число вхождений символов '+', '–', '*' в последовательность - C (СИ)
Формулировка задачи:
Дана последовательность из n символов. Подсчитать общее число вхождений символов '+', '–', '*' в данную последовательность.
Надеюсь на помощь великих программистов)
Решение задачи: «Подсчитать общее число вхождений символов '+', '–', '*' в последовательность»
textual
Листинг программы
#include <stdio.h>
int main(){
char test[] = "abc+d -k-*ek";
char *p = &test;
int counter = 0;
while(*p != '\0'){
if(*p == '+' || *p == '-' || *p == '*')
counter++;
p++;
}
printf("%d", counter);
return 0;
}
Объяснение кода листинга программы
В этом коде:
- Объявлена переменная
testтипаcharи инициализирована строкойabc+d -k-*ek. - Объявлена переменная
pтипаchar*и инициализирована адресом первого символа строкиtest. - Объявлена переменная
counterтипаintи инициализирована нулем. - Запущен цикл
while, который выполняется до тех пор, пока*pне станет нулём. - Внутри цикла проверяется, является ли текущий символ '+', '-' или '*'. Если да, то увеличивается счётчик
counter. - После каждой итерации цикла значение
pувеличивается на единицу, чтобы перейти к следующему символу в строке. - По завершении цикла программа выводит значение счётчика
counterс помощью функцииprintf. - Программа возвращает ноль, что означает успешный конец работы.