qq_63001612 2021-10-15 09:03 采纳率: 72.7%
浏览 403
已结题

编写程序,输入一行字符(可能包括英文字母,数字字符等其他字符),要求统计其中单词的个数,单词只由英文字母构成

#include<stdio.h>
#include<ctype.h>
int main()
{

printf("输入一行字符:\n");
char ch;
int i,count=0,word=0;

while((ch=getchar())!='\n')
{
if(isalpha(ch))
}

if(ch==' ')

word=0;

else if(word==0)

{

word=1;

count++;

}

printf("总共有 %d 个单词\n",count);

return 0;

}

  • 写回答

1条回答 默认 最新

  • qfl_sdu 2021-10-15 09:19
    关注

    修改如下:

    #include<stdio.h>
    #include<ctype.h>
    int main()
    {
        printf("输入一行字符:\n");
        char ch,pre=0;
        int i,count=0,word=0;
    
        while((ch=getchar())!='\n')
        {
            if( isalpha(pre) && (!isalpha(ch)) ) //前一个字符是字母,并且当前字符是非字母
                count++;
            pre = ch;
        }
        //输入回车后,最后一个单词没有统计
        if( isalpha(pre) && (!isalpha(ch)) ) //前一个字符是字母,并且当前字符是非字母
            count++;
        printf("总共有 %d 个单词\n",count);
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 11月16日
  • 已采纳回答 11月8日
  • 创建了问题 10月15日

悬赏问题

  • ¥15 使用EMD去噪处理RML2016数据集时候的原理
  • ¥15 神经网络预测均方误差很小 但是图像上看着差别太大
  • ¥15 Oracle中如何从clob类型截取特定字符串后面的字符
  • ¥15 想通过pywinauto自动电机应用程序按钮,但是找不到应用程序按钮信息
  • ¥15 如何在炒股软件中,爬到我想看的日k线
  • ¥15 seatunnel 怎么配置Elasticsearch
  • ¥15 PSCAD安装问题 ERROR: Visual Studio 2013, 2015, 2017 or 2019 is not found in the system.
  • ¥15 (标签-MATLAB|关键词-多址)
  • ¥15 关于#MATLAB#的问题,如何解决?(相关搜索:信噪比,系统容量)
  • ¥500 52810做蓝牙接受端