鱼C论坛

 找回密码
 立即注册
查看: 1112|回复: 3

[已解决]一个计算输入单词数的程序

[复制链接]
发表于 2020-1-10 19:18:11 | 显示全部楼层 |阅读模式
10鱼币
本帖最后由 姬世鹏 于 2020-1-11 15:09 编辑

#include<string.h>
#include<stdio.h>
#define N 80
int fun(char *s)//一个计算输入多少个单次的函数,允许单词之间有多个空格。
{
  int count = 0,i;
  
  for(i = 0;s[i] != '\0';i++);
  {
          if(s[i] != ' '&&(s[i + 1] == ' '|| s[i + 1] == '\0'))//不知道哪里错了就是计算有问题
                  count++;
       
  }

  return count;
}
void main()
{
  FILE *wf;
  char line[N];
  int num=0;
  printf("Enter a string:\n ");
  gets(line);
  num=fun(line);
  printf("The number of word is:%d\n\n ",num);

}
最佳答案
2020-1-10 19:18:12
姬世鹏 发表于 2020-1-11 15:10
不好意思,没看明白,定义的flag的作用是什么?

这里相当于监测每个单词的开头字母个数,当检测到字符时flag为1,然后检测到下一个字符,此时flag为1说明该字符不是单词开头,就continue,当检测到空格,flag变成0,说明一个单词结束了,然后一直循环就可以了
QQ截图20200110191810.png

最佳答案

查看完整内容

这里相当于监测每个单词的开头字母个数,当检测到字符时flag为1,然后检测到下一个字符,此时flag为1说明该字符不是单词开头,就continue,当检测到空格,flag变成0,说明一个单词结束了,然后一直循环就可以了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-1-10 19:18:12 | 显示全部楼层    本楼为最佳答案   
姬世鹏 发表于 2020-1-11 15:10
不好意思,没看明白,定义的flag的作用是什么?

这里相当于监测每个单词的开头字母个数,当检测到字符时flag为1,然后检测到下一个字符,此时flag为1说明该字符不是单词开头,就continue,当检测到空格,flag变成0,说明一个单词结束了,然后一直循环就可以了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-1-10 20:04:13 | 显示全部楼层
  for(i = 0;s[i] != '\0';i++)
  {


        if(s[i] != ' ')
        {
                
                if( flag )
                        continue;
                
                count++;
                flag = 1;
        }
        else
        {
                flag = 0;
        }
        
  }
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-1-11 15:10:31 | 显示全部楼层

不好意思,没看明白,定义的flag的作用是什么?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-10-5 07:27

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表