姬世鹏 发表于 2020-1-10 19:18:11

一个计算输入单词数的程序

本帖最后由 姬世鹏 于 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 != '\0';i++);
{
          if(s != ' '&&(s == ' '|| s == '\0'))//不知道哪里错了就是计算有问题
                  count++;
       
}

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

}

晴初back 发表于 2020-1-10 19:18:12

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

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

ba21 发表于 2020-1-10 20:04:13

for(i = 0;s != '\0';i++)
{


        if(s != ' ')
        {
               
                if( flag )
                        continue;
               
                count++;
                flag = 1;
        }
        else
        {
                flag = 0;
        }
      
}

姬世鹏 发表于 2020-1-11 15:10:31

ba21 发表于 2020-1-10 20:04


不好意思,没看明白,定义的flag的作用是什么?
页: [1]
查看完整版本: 一个计算输入单词数的程序