YL160
2021-06-13 10:18
采纳率: 100%
浏览 31

急急急,各位大佬看看我吧

输入三行文字,找出其中有多少个空格和多少个单词(规定单词间以一个或多个空格分开)。若一个单词恰好在行末结束,则下一 行的开头应有空格,句号和逗号后面也应有空格。

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • 已采纳
    #include<stdio.h>
    #include<string.h>
    int blank=0,word=0;
    void StringBracket(char *str)
    {
        int i,j,len;
        len=strlen(str);
        j=0;
        int flag=0;
        for(i=0; i<len; i++)
        {
            if(str[i]<'a'||str[i]>'z'){
                flag=1;
            }
            if(str[i]!=' ')
            {
                if(j==0)
                {
                    if(flag==0)
                        word++;
                    j=1;
                    flag=0;
                }
            }
            else
            {
                blank++;
                j=0;
            }
        }
    }
    void main()
    {
        int i;
        char str[200];
        for(i=0; i<3; i++)
        {
            printf("Input No.%d string:\n",i+1);
            {
                gets(str);
                StringBracket(str);
            }
        }
        printf("Blank:%d Word:%d\n",blank,word);
    }
    

     

    已采纳该答案
    评论
    解决 1 无用
    打赏 举报
  • CSDN专家-张老师 2021-06-13 10:19
    #include <stdio.h>
    
    int main()
    
    {
    
      char *p,str[3][255],sp=' ';
    
      int i,j,w=0,sps=0;
    
      for (i=0;i<3;i++) gets(str[i]);
    
      for(i=0;i<3;i++)
    
        {
    
          p=str[i];
    
          while(*p==sp) {sps++;p++} /*跳过最前面的空格*/
    
          do {
    
                 if (*p==sp)
                  {
                      w++;sps++;p++;
                      while(*p==sp) {sps++;p++;} /*跳过连续的空格*/
                   }
                else if (*p)
                   p++; 
    
           } while(*p);
           if (*(--p)!=sp) w++; /*最后一个词后面可能没有空格*/
    
         }
    
    printf("有%d个单词,%d个空格\n",w,sps);
    
    system("PAUSE");
    
    return 0;
    
    }
    
    
    
    评论
    解决 1 无用
    打赏 举报
  • YL160 2021-06-13 10:19

    输入的数字也被判定成了字母,咋办

     

    评论
    解决 无用
    打赏 举报
  • 有问必答小助手 2021-06-16 14:44

    您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

    如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

    ps: 问答会员年卡【8折】购 ,限时加赠IT实体书,即可 享受50次 有问必答服务,了解详情>>>https://t.csdnimg.cn/RW5m

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题