Я работал над проблемой читабельности в CS50. Первый шаг - создать способ подсчета только буквенных символов. Он предлагает использовать функцию isalpha
, но на самом деле не содержит указаний о том, как ее реализовать.
Ниже приведен мой код, который успешно подсчитывает общее количество букв алфавита, но не фильтрует знаки препинания, пробелы и целые числа.
Может ли кто-нибудь подсказать мне лучшее направление для реализации isalpha
, чтобы он функционировал?
#include <stdio.h>
#include <cs50.h>
#include <string.h>
#include <ctype.h>
int main(void)
{
string s = get_string ("Text: \n"); // Ask for text
// Loop through the string one character at a time. Count strlen in variable n.
for (int i = 0, n = strlen(s); i < 1; i++)
// Count only the alphabetical chars.
{
while (isalpha (n)) i++;
printf ("%i", n );
}
printf("\n");
}