Определить количество заданных символов в заданной строке - C (СИ)
Формулировка задачи:
Нужно определить количество заданных символов в заданной строке. Помогите найти ошибку(ки).
#include <stdio.h>
#include <string.h>
#include "StdAfx.h"
#include <stdlib.h>
int SymCount(char s[80], char c, int count)
{
count = 0;
for (int i = 0; s[i] != '\0'; i++)
{
if (s[i] == c)
count++;
return (count);
}
}
int main() {
char s[80], sym;
int count=0, i;
printf("Vvod stroki: ");
gets_s(s);
printf("Vvod simvola: ");
sym = getchar();
SymCount(s, sym, count);
printf("v stroke\n");
puts(s); // Вывод строки
printf("simvol ");
putchar(sym); // Вывод символа
printf(" vstrechaetsa %d raz", count);
getchar(); getchar();
return 0;
}Решение задачи: «Определить количество заданных символов в заданной строке»
textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
int SymCount(char s[80], char c)
{
int count = 0,i;
for ( i = 0; s[i] != '\0'; i++)
{
if (s[i] == c)
count++;
}
return (count);
}
int main(void){
char s[80], sym;
int count;
printf("Vvod stroki: ");
gets(s);
printf("Vvod simvola: ");
sym = getchar();
count=SymCount(s, sym);
printf("v stroke\n");
puts(s); // Вывод строки
printf("simvol ");
putchar(sym); // Вывод символа
printf(" vstrechaetsa %d raz", count);
return(0);
}
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы с файлами и для работы с консолью
- Определение функции с именем SymCount, которая принимает два аргумента типа char: массив символов s и символ c
- Внутри функции объявление переменной count типа int и инициализация ее значением 0
- Инициализация цикла for от 0 до 79 (длина массива s минус 1)
- Внутри цикла проверка условия: если символ s[i] равен c, то увеличение значения переменной count на 1
- Выход из цикла и возврат значения переменной count
- Определение функции main
- Инициализация строки s типа char с длиной 80 символов
- Вывод сообщения
Vvod stroki:и считывание строки с помощью функции gets(s) - Вывод сообщения
Vvod simvola:и считывание символа с помощью функции getchar() - Присваивание значения переменной count результат работы функции SymCount(s, sym)
- Вывод строки с помощью функции puts(s)
- Вывод символа с помощью функции putchar(sym)
- Вывод сообщения
simvolи символ count раз с помощью функции printf() - Возврат значения 0, что означает успешный конец работы программы