Дано слово. Определить количество различных букв в нем - C (СИ)
Формулировка задачи:
Дано слово. Определить количество различных букв в нем
Решение задачи: «Дано слово. Определить количество различных букв в нем»
textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(void) {
char* word = "progressmaster";
int i, j;
int count = 0;
int length = strlen(word);
for (i = 0; i < length; ++i) {
for (j = 0; j < length; ++j) {
if (word[i] == word[j]) {
count++;
}
}
char tmpString[i];
strncpy(tmpString, word, i);
tmpString[i] = '\0';
if (!strchr(tmpString, word[i])) {
printf("Character: %c, %d\n", word[i], count);
}
count = 0;
}
return EXIT_SUCCESS;
}
Объяснение кода листинга программы
В этом коде на языке C происходит подсчет количества уникальных букв в заданном слове.
- В первую очередь, объявляются необходимые переменные:
word- указатель на строку, содержащую исследуемое слово. В данном случае, этоprogressmaster.iиj- индексы, которые будут использоваться в циклах.count- переменная для подсчета количества уникальных букв.length- переменная для хранения длины исследуемого слова.
- Затем, с помощью функции
strlen()вычисляется длина строкиword. - Далее, с помощью двух вложенных циклов, происходит сравнение каждой буквы исследуемого слова с каждой другой буквой. Если они совпадают, то к переменной
countприбавляется единица. - Внутри второго цикла, создается временная строка
tmpString, которая заполняется символами исследуемого слова до текущей позиции. - С помощью функции
strncpy()вtmpStringкопируются символы исследуемого слова до текущего индекса. При этом, последним символом вtmpStringустанавливается нулевой символ, обозначающий конец строки. - С помощью функции
strchr()проверяется наличие текущего символа вtmpString. Если его там нет, то этот символ и его количество выводятся на экран. - После завершения внутреннего цикла, переменная
countсбрасывается в ноль, чтобы начать подсчет уникальных букв заново для следующей итерации внешнего цикла. - В конце программы возвращается значение
EXIT_SUCCESS, обозначающее успешный конец работы программы.