m0_58203183 2022-05-31 18:19 采纳率: 85.7%
浏览 23
已结题

输入一行英文句子,统计单次个数

请求解答
int num=0,word=0;
char ch;
printf("请输入一行字符:\n");

while((ch=getchar())!='\n')
{
    if(ch==' ')
    {
        word=0;
    }
    else if(word==0)
    {
        word=1;
        num++;
    }

}

printf("the number of words is = %d ",num);

printf("\n");
system(" pause ");

img


输入时,输入的第一个字符是空格与第一个字符是字母时个数一样 为什么循环判定时第一个字符是字母

img

int num=0,word=0;
char ch;
printf("请输入一行字符:\n");
scanf("%s",&ch);//这个地方用scanf赋值时,为什么少一个呢

img

  • 写回答

2条回答 默认 最新

  • .柚不幼.love. 2022-05-31 19:58
    关注
    
    #include <stdio.h>
    #include <stdlib.h>
     
     
    int main()
    {
       char ch;
       int sum = 0,word = 0;//用word来判断输入的单词是否结束,即当前输入的字符是不是依旧属于一个单词中
     
       while((ch=getchar())!='\n')
       {
           if(ch == ' ')
            word = 0;//表示一个单词输入完成
           else if(word == 0)
           {
               word = 1;//表示当前正在输入单词
               ++sum;
           }
       }
     
       printf("%d",sum);
     
       return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 8月26日
  • 已采纳回答 8月18日
  • 修改了问题 6月1日
  • 创建了问题 5月31日

悬赏问题

  • ¥50 这Mac系统提示虚拟内存不足,怎么解决
  • ¥15 Rs232电路无法收发数据,求帮助
  • ¥15 百度cookie扫码登录器
  • ¥15 微机原理汇编语言debug调试实验
  • ¥23 matlab可以把相图转换为庞加莱映射吗
  • ¥20 有偿,学生成绩信息管理系统
  • ¥15 Arduino电机和openmv连接异常
  • ¥15 Arcgis河网分级报错
  • ¥200 java+appium2.1+idea
  • ¥20 请帮我做一个EXE的去重TXT文本