0

我正在用 C 语言编写一个程序,通过搜索标点符号来找出字符串中的句子数。我正在使用 ispunct() 来查找标点符号。然而,它不仅仅是像我想要的那样返回句号、问号和感叹号的数量。它还返回逗号和所有其他非字母数字符号。所以这句话:

“你好!我叫 Peter、Iscreamyay、nerdinuity 和 GameProgrammerGalaxy。”

据说,按照程序,要有六句话!

我想知道是否有办法在 ispunct() 中排除某些标点符号返回以下是当前找到的代码部分:

int main(void){
char text[100];
int letterNum = 0;
int wordNum = 0;
int sentenceNum = 0;
printf("Text: ");
scanf("%[^\n]%*c", text);
for(int i = 0; i < strlen(text); i++){
    if(isalpha(text[i])){
        letterNum++;
    }
    if(isspace(text[i])){
        wordNum++;
    }
    if(ispunct(text[i])){
        sentenceNum++;
    }
4

0 回答 0