C语言, 用isalpha(), isdigit(), ispunct() 来计算该句子有多少个字母,数字,和标点符号

用isalpha(), isdigit(), ispunct() 来计算一个英语句子有多少个字母,数字,和标点符号出来的结果类似这样
2026年09月25日 22:44
有1个网友回答
网友(1):

根据题意可得代码如下

#include 
#include 

int main()
{
    char sentence[1024];
    int alpha, digit, punct, i;
    printf ("Please enter a sentence:");
    gets(sentence);
    printf ("\nThe sentence you have entered: %s\n", sentence);
    alpha = digit = punct = 0;
    for (i = 0; sentence[i] != '\0'; ++i){
        if (isalpha(sentence[i])){
            alpha++;
        }
        else if(isdigit(sentence[i])){
            digit++;
        }
        else if(ispunct(sentence[i])){
            punct++;
        }
    }
    printf ("\nNumber of alphabets: %d\n", alpha);
    printf ("Number of digits: %d\n", digit);
    printf ("Number of punctuations: %d\n", punct);
    return 0;
}